что такое ранговость оперативной памяти
Про ранги и виртуализацию в RAM
В продолжение рубрики «конспект админа» хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.
Старые песни про новые типы
Сегодня на рынке представлены, в основном, модули с памятью DDR SDRAM: DDR2, DDR3, DDR4. Разные поколения отличаются между собой рядом характеристик – в целом, каждое следующее поколение «быстрее, выше, сильнее», а для любознательных вот табличка:
Для подбора правильной памяти больший интерес представляют сами модули:
RDIMM — регистровая (буферизованная) память. Удобна для установки большого объема оперативной памяти по сравнению с небуферизованными модулями. Из минусов – более низкая производительность;
UDIMM (unregistered DRAM) — нерегистровая или небуферизованная память — это оперативная память, которая не содержит никаких буферов или регистров;
LRDIMM — эти модули обеспечивают более высокие скорости при большей емкости по сравнению с двухранговыми или четырехранговыми модулями RDIMM, за счёт использования дополнительных микросхем буфера памяти;
HDIMM (HyperCloud DIMM, HCDIMM) — модули с виртуальными рангами, которые имеют большую плотность и обеспечивают более высокую скорость работы. Например, 4 физических ранга в таких модулях могут быть представлены для контроллера как 2 виртуальных;
Попытка одновременно использовать эти типы может вызвать самые разные печальные последствия, вплоть до порчи материнской платы или самой памяти. Но возможно использование одного типа модулей с разными характеристиками, так как они обратно совместимы по тактовой частоте. Правда, итоговая частота работы подсистемы памяти будет ограничена возможностями самого медленного модуля или контроллера памяти.
Для всех типов памяти SDRAM есть общий набор базовых характеристик, влияющий на объем и производительность:
частота и режим работы;
Конечно, отличий на самом деле больше, но для сборки правильно работающей системы можно ограничиться этими.
Частота и режим работы
Понятно, что чем выше частота — тем выше общая производительность памяти. Но память все равно не будет работать быстрее, чем ей позволяет контроллер на материнской плате. Кроме того, все современные модули умеют работать в в многоканальном режиме, который увеличивает общую производительность до четырех раз.
Режимы работы можно условно разделить на четыре группы:
Single Mode — одноканальный или ассиметричный. Включается, когда в системе установлен только один модуль памяти или все модули отличаются друг от друга. Фактически, означает отсутствие многоканального доступа;
Dual Mode — двухканальный или симметричный. Слоты памяти группируются по каналам, в каждом из которых устанавливается одинаковый объем памяти. Это позволяет увеличить скорость работы на 5-10 % в играх, и до 70 % в тяжелых графических приложениях. Модули памяти необходимо устанавливать парами на разные каналы. Производители материнских плат обычно выделяют парные слоты одним цветом;
Triple Mode — трехканальный режим работы. Модули устанавливаются группами по три штуки — на каждый из трех каналов. Аналогично работают и последующие режимы: четырехканальные (quad-channel), восьмиканальные (8-channel memory) и т.п.
Для максимального быстродействия лучше устанавливать одинаковые модули с максимально возможной для системы частотой. При этом используйте установку парами или группами — в зависимости от доступного многоканального режима работы.
Ранги для памяти
Ранг (rank) — область памяти из нескольких чипов памяти в 64 бита (72 бита при наличии ECC, о чем поговорим позже). В зависимости от конструкции модуль может содержать один, два или четыре ранга.
Узнать этот параметр можно из маркировки на модуле памяти. Например уKingston число рангов легко вычислить по одной из трех букв в середине маркировки: S (Single — одногоранговая), D (Dual — двухранговая), Q (Quad — четырехранговая).
Пример полной расшифровки маркировки на модулях Kingston:
Серверные материнские платы ограничены суммарным числом рангов памяти, с которыми могут работать. Например, если максимально может быть установлено восемь рангов при уже установленных четырех двухранговых модулях, то в свободные слоты память добавить не получится.
Перед покупкой модулей есть смысл уточнить, какие типы памяти поддерживает процессор сервера. Например, Xeon E5/E5 v2 поддерживают одно-, двух- и четырехранговые регистровые модули DIMM (RDIMM), LRDIMM и не буферизированные ECC DIMM (ECC UDIMM) DDR3. А процессоры Xeon E5 v3 поддерживают одно- и двухранговые регистровые модули DIMM, а также LRDIMM DDR4.
Немного про скучные аббревиатуры таймингов
Тайминги или латентность памяти (CAS Latency, CL) — величина задержки в тактах от поступления команды до ее исполнения. Числа таймингов указывают параметры следующих операций:
CL (CAS Latency) – время, которое проходит между запросом процессора некоторых данных из памяти и моментом выдачи этих данных памятью;
tRCD (задержка от RAS до CAS) – время, которое должно пройти с момента обращения к строке матрицы (RAS) до обращения к столбцу матрицы (CAS) с нужными данными;
tRP (RAS Precharge) – интервал от закрытия доступа к одной строке матрицы, и до начала доступа к другой;
tRAS – пауза для возврата памяти в состояние ожидания следующего запроса;
Разумеется, чем меньше тайминги – тем лучше для скорости. Но за низкую латентность придется заплатить тактовой частотой: чем ниже тайминги, тем меньше допустимая для памяти тактовая частота. Поэтому правильным выбором будет «золотая середина».
Существуют и специальные более дорогие модули с пометкой «Low Latency», которые могут работать на более высокой частоте при низких таймингах. При расширении памяти желательно подбирать модули с таймингами, аналогичными уже установленным.
RAID для оперативной памяти
Ошибки при хранении данных в оперативной памяти неизбежны. Они классифицируются как аппаратные отказы и нерегулярные ошибки (сбои). Память с контролем четности способна обнаружить ошибку, но не способна ее исправить.
Для коррекции нерегулярных ошибок применяется ECC-память, которая содержит дополнительную микросхему для обнаружения и исправления ошибок в отдельных битах.
Метод коррекции ошибок работает следующим образом:
При записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит.
Когда процессор считывает данные, то выполняется расчет контрольной суммы полученных данных и сравнение с исходным значением. Если суммы не совпадают – это ошибка.
Технология Advanced ECC способна исправлять многобитовые ошибки в одной микросхеме, и с ней возможно восстановление данных даже при отказе всего модуля DRAM.
Исправление ошибок нужно отдельно включить в BIOS
Большинство серверных модулей памяти являются регистровыми (буферизованными) – они содержат регистры контроля передачи данных.
Регистры также позволяют устанавливать большие объемы памяти, но из-за них образуются дополнительные задержки в работе. Дело в том, что каждое чтение и запись буферизуются в регистре на один такт, прежде чем попадут с шины памяти в чип DRAM, поэтому регистровая память оказывается медленнее не регистровой на один такт.
Все регистровые модули и память с полной буферизацией также поддерживают ECC, а вот обратное не всегда справедливо. Из соображений надежности для сервера лучше использовать регистровую память.
Многопроцессорные системы и память
Для правильной и быстрой работы нескольких процессоров, нужно каждому из них выделить свой банк памяти для доступа «напрямую». Об организации этих банков в конкретном сервере лучше почитать в документации, но общее правило такое: память распределяем между банками поровну и в каждый ставим модули одного типа.
Если пришлось поставить в сервер модули с меньшей частотой, чем требуется материнской плате – нужно включить в BIOS дополнительные циклы ожидания при работе процессора с памятью.
Для автоматического учета всех правил и рекомендаций по установке модулей можно использовать специальные утилиты от вендора. Например, у HP есть Online DDR4 (DDR3) Memory Configuration Tool.
Итого
Вместо пространственного заключения приведу общие рекомендации по выбору памяти:
Для многопроцессорных серверов HP рекомендуется использовать только регистровую память c функцией коррекции ошибок (ECC RDIMM), а для однопроцессорных — небуферизированную с ECC (UDIMM). Планки UDIMM для серверов HP лучше выбирать от этого же производителя, чтобы избежать самопроизвольных перезагрузок.
В случае с RDIMM лучше выбирать одно- и двухранговые модули (1rx4, 2rx4). Для оптимальной производительности используйте двухранговые модули памяти в конфигурациях 1 или 2 DIMM на канал. Создание конфигурации из 3 DIMM с установкой модулей в третий банк памяти значительно снижает производительность.
Список короткий, но здесь все самое необходимое и наименее очевидное. Конечно же, старый как мир принцип RTFM никто не отменял.
Одноранговая или двухранговая оперативная память?
Если с двухканальной оперативной памятью все более-менее понятно (четное количество модулей работает быстрее нечетного), то термин «двухранговая память» знаком уже куда меньшему числу компьютерных энтузиастов. Более того, даже те немногие, кто знают о двухранговости, не могут однозначно ответить, хорошо это или плохо. И действительно, двухранговая память имеет как преимущества, так и недостатки. Что же из них сильнее перевешивает, давайте вместе разбираться.
Single Rank vs Dual Rank
Ранг памяти — это количество массивов из микросхем памяти разрядностью 64 бита каждый, распаянных на одном модуле памяти. Проще говоря, это два виртуальных модуля на одном физическом. Самыми распространенными являются одноранговые (Single Rank) и двухранговые планки памяти (Dual Rank), но изредка встречаются и четырехранговые (Quad Rank).
Нехотя напрашивается аналогия с физическими и виртуальными ядрами процессора — Intel Hyper-Threading и AMD SMT. Некое сходство действительно есть: одна двухранговая планка памяти быстрее одноранговой (Single Channel), но медленее двух одноранговых, работающих в двухканальном режиме (Dual Channel).
На данный момент преобладающее большинство модулей памяти DDR4 объемом 4 или 8 ГБ являются одноранговыми (распаяно четыре или восемь чипов по 1 ГБ), а объемом 16 ГБ — двухранговыми (шестнадцать чипов, то есть два массива). Впрочем, в продаже все еще можно встретить старые 8-гиговые двухранговые планки (16 чипов малой плотности 512 МБ).
А с появлением первых чипов повышенной плотностью 2 ГБ в продажу начали поступать одноранговые 16-гиговые (один массива из 8 чипов) и двухранговые 32-гиговые модули (16 чипов). Четырехранговые 32-гиговые планки (32 чипа, четыре массива) — совсем уж диковинка.
Проще говоря, если чипов на планке памяти до восьми штук включительно — она одноранговая, а если шестнадцать — двухранговая. С теорией более-менее разобрались, теперь же проведем практическое тестирование на примере парочки двухранговых 16-гиговых модулей Apacer DDR4 суммарным объемом 32 ГБ.
Apacer DDR4 — серия бюджетной оперативной памяти для современных компьютерных платформ Intel LGA1151-v2 и AMD AM4. Текстолит моделей с частотой 2133 и 2400 МГц окрашен в олдскульный зеленый цвет, а 2666-МГц моделей — в уже более современный черный. На выбор доступны модели объемом 4, 8 и 16 ГБ. Первые два варианта — одноранговые, тогда как последний — двухранговый.
Готовых заводских наборов на два или четыре модуля не предусмотрено, только отдельные планки. Поэтому если планируете заняться оверклокингом, советуем покупать в одном магазине и в одно время. Чтобы уж наверняка попались чипы из одной партии с примерно одинаковым коэффициентом утечек тока и разгонным потенциалом.
Пожалуй, самыми интересными являются планки Apacer DDR4 объемом 16 ГБ и частотой 2666 МГц. Построены они на шестнадцати чипах Hynix A-die (по данным приложения Thaiphoon Burner), то есть являются двухранговыми. Парочка таких модулей позволяет собрать ПК на процессоре AMD Ryzen с высокой пропускной способностью подсистемы памяти — двухканальная и одновременно двухранговая.
Правда, большое количество чипов повышает нагрузку на встроенный в процессор контроллер памяти. Из-за этого частота памяти, которую можно выжать из памяти ручным разгоном, будет ниже, а тайминги (задержки) наоборот выше. Даже по умолчанию Apacer DDR4-2666 16 ГБ работает на таймингах CL19 вместо типичных для этой частоты CL17.
Конфигурация тестового стенда
Результаты бенчмарков
Для сравнительного тестирования одноранговых и двухранговых модулей был нарочно выбран наиболее чувствительний к пропускной способности памяти процессор — Ryzen 3 2200G. В его случае шина памяти делится между четырьмя вычислительными ядрами Zen и встроенным графическим ускорителем Vega 8 с 512 микроядрами. Дополнительная дискретная видеокарта не использовалась.
Оверклокерских рекордов с двухранговой Apacer DDR4 установить ожидаемо не получилось — она разогналась с базовых 2666 лишь до 2933 МГц, что впрочем тоже неплохо. Из одноранговых модулей как правило можно выжать на сотню-две мегагерц больше. Впрочем, это ограничение может быть и по вине материнской платы Biostar B450GT3 с пока еще сыроватой прошивкой BIOS.
Тестирование проводилось в приложении AIDA64, а точнее встроенном в него бенчмарке памяти и кеша, а также в старенькой, но как раз хорошо подходящей для интегрированной видеокарты игре — Tomb Raider (2013) при разрешении FullHD и высоких настройках графики. В нее тоже встроен бенчмарк, раз за разом прогоняющий одну и ту же демо-сцену, что минимизирует погрешность замеров частоты кадров.
Так, скорость чтения, записи и копирования двургановой памяти Apacer DDR4 2666 МГц в бенчмарке AIDA64 оказалась примерно на 7 процентов больше, чем у одноранговой памяти с аналогичной частотой. Ручной разгон до 2933 МГц прибавил еще около 5 процентов быстродействия. На эти же 5 процентов у двухранговой памяти ниже латентность, то есть задержки, измеряемые в наносекундах.
Фреймрейт в игре Tomb Raider в случае двухранговой памяти был пусть немного, всего на 2 кадр/с, но стабильно выше одноранговой. Еще парочку кадров в секунду прибавил оверклокинг памяти. Больше бесплатных FPS можно получить, разогнав по ядру интегрированную видеокарту Vega 8. Но для этого желателен хотя бы небольшой башенный кулер, тогда как мы, ради чистоты эксперимента, проводили тестировании на боксовом.
Выводы
Как показало тестирование, двухранговые модули ОЗУ (с двумя виртуальными каналами памяти) однозначно быстрее одноранговых при равной частоте — выигрыш составляет от 5 до 7 процентов. Цифры, вроде, и небольшие, но получить прирост быстродействия памяти всегда труднее, чем любого другого компонента ПК. Если лень заморачиваться с оверклокингом, то покупка двухранговых модулей — самый простой и эффективный способ ускорить подсистему памяти ПК. А в случае процессоров с мощной интегрированной графикой (AMD Vega и Intel Gen11), двухранговая память прямо-таки обязательна к покупке.
Ранги оперативной памяти: что это такое, как узнать и какая лучше
Итак, оперативная память имеет следующие ключевые параметры:
И вроде, чтобы определить, насколько эффективна будет работа оперативной памяти, этого достаточно. Но если ввести еще одну переменную — ранг (rank, ранк) — она с ног на голову перевернет привычную парадигму выбора ОЗУ.
Что такое ранг оперативной памяти?
С приходом на рынок AMD Ryzen в инфополе массово заговорили о рангах оперативной памяти и их чудесных свойствах, особенно для любителей оверклокинга. Но для большинства пользователей понятие о «ранговости» свелось к размещению чипов памяти на текстолите ОЗУ:
Однако это неверное представление, ведь есть еще и применяемая в серверных системах четырехранговая и восьмиранговая память, которые в эту классификацию не вписываются. Предлагаем разобраться в этом подробнее.
Термин «Ранг» (ранк, rank) обозначает одномоментную передачу по шине блока данных плотностью 64 бита (72 бита для серверной ECC-памяти). В простейшем понимании, одноранговый DIMM-модуль (1R) содержит в себе 64-битный фрагмент информации, которым он за один такт работы делится с процессором.
Максимальный объем однорангового модуля типа DDR4 — 8 ГБ, если память набиралась кристаллами по 1 ГБ. В этом случае, за основу можно было взять следующую константу:
Если на текстолите распаяно 16 ГБ по 8 кристаллов в 1 ГБ с двух сторон — это двухранговая память (2R).
В нынешнее время, современная память может быть набрана модулями, где кристаллы наслаиваются друг на друга, увеличивая емкость каждого вдвое.
Не так давно Samsung, Hynix, Micron и другие производители начали выпускать кристаллы повышенной плотности уже на 2 ГБ, поэтому емкость ОЗУ на кристаллах новой версии емкость 1R увеличилась до 16 ГБ.
Итого, в итоге имеем схему:
1 ранк = 8 ГБ (кристаллы «старой» версии по 1 ГБ);
1 ранк = 16 ГБ (кристаллы «новой» версии по 2 ГБ).
Память 4R встречается в продаже только в серверном сегменте. Визуально она выглядит так же, как и двухранговая, но при этом на одной стороне распаяно сразу два ранга (2 блока по 8 ГБ + кристалл коррекции ошибок). Программно модуль настроен таким образом, чтобы каждый из независимых блоков мог передавать по 72 бита информации за раз.
Аналогично для 8R-памяти, только она еще сложнее технически и программно.
В целом, принцип работы многоранговой памяти можно представить так:
В один момент времени работает только часть кристаллов — один ранк. А остальная «грядка» тем временем накапливает заряд и ищет внутри себя данные, чтобы отдать их процессору по шине.
Отличие одноранговой памяти от двухранговой на практике
На данный момент обойти лимит в 64 (72) бита за такт физически невозможно, поскольку так устроена работа стандарта DDR4. Но инженеры тоже не просто так едят свой хлеб, поэтому они додумались обойти ограничения довольно забавным способом: заставили чипы работать попеременно, фактически передавая 128 (144/288) бит вместо 64 (72).
Что это дает на практике? Разберем на примере сервера HPE ProLaint DL380 Gen10. Возьмем за основу тот факт, что в корпусе установлен один процессор Xeon Platinum 8ххх, поскольку у него самые широкие возможности. К тому же, чип поддерживает планки до 128 ГБ. Умножим это число на 12 (столько слотов ОЗУ выделено под процессор) и получим 1536 ГБ. Такого результата можно добить только с использованием 8R-планок с кристаллами по 2 ГБ.
Но тут стоит понимать, на серверной памяти DDR4 расположено 288 контактов, каждый из которых передает 1 бит данных. Если вдарить по всем потокам, ОС запестрит ошибками, поскольку больше 72 бит переварить не может. С 4R/8R-планками все еще сложнее: некоторые выдают только 36 бит вместо 72, и именуются Load-reduced Memory (LRDIMM), комплект с пониженной нагрузкой).
Т.е. вы получаете больший объем, но сниженную производительность. Тайминги у такой памяти ниже, задержка доступа — выше, частота работы не превышает 2933 МГц для Xeon Platinum, 2666 МГц для Gold, 2400 для Silver и 2133 для Bronze.
Также сервер не позволит использовать память с разной ранговостью. Если вставили модуль 2R, будьте добры добавлять такие же, иначе сильно потеряете в скорости и стабильности.
В защиту 2R/4R скажем следующее:
Но не забывайте, что полностью раскрыть потенциал многоранговой оперативной памяти можно только при правильно подобранном процессоре. Более подробную информацию вы сможете получить у консультантов компании Маркет.Марвел.
Какой ранг памяти лучше?
Выбирая, что лучше: одноранговая или двухранговая оперативная память, стоит опираться на частотные показатели и объем передаваемых данных. Двухранговая память с частотой 3000 МГц обгоняет по производительности одноранговый модуль при частоте в 3333 МГц.
Также владельцы двухранговой памяти получают следующие преимущества:
Также двухранк, еще и в двух/четырех/шестиканале как нельзя кстати открывает себя в системах с интегрированной графикой, где GPU-модуль процессора черпает память напрямую из ОЗУ. Тут чем быстрее происходит шевеление информации — тем лучше.
Как узнать ранг оперативной памяти по маркировке?
Маркировка оперативной памяти разнится от производителя к производителю, но наиболее распространенными вариантами являются буквенные маркеры:
Также распространена маркировка формата 1Rх4, 2Rх8, 2Rх16, 4Rх4.
Первая часть — 1R, 2R, 4R, 8R — означает ранг.
А вторая х4, х8, х16 — то, сколько байтов за такт способен передавать каждый кристалл на планке.
Чтобы наработать скиллы по чтению маркировки, возьмем за пример память от HPE, поскольку она частенько встречается в серверном сегменте. У этого производителя маркировка планок памяти выглядит так:
Закрепляем результат следующими примерами:
Остались вопросы? Задайте их нашим консультантам и получите исчерпывающий ответ. Мы готовы предложить вам наилучшее решение для вашего оборудования, которое позволит получить максимум производительности.
Ранги оперативной памяти: что это такое, как узнать и какая лучше
Ранги памяти: что это и почему они важны
Оперативная память – это неотъемлемая часть компьютера любой мощности и назначения. Она отвечает за временное хранение машинных кодов, с которыми в конкретный период времени работает центральный процессор. Также в массивах оперативной памяти хранятся исходные данные для выполнения процессором задач, обработанные фрагменты и промежуточные результаты.
Оперативная память относится к энергозависимому виду памяти, то есть требующему постоянного питания при выполнении своих функций. При обесточивании системы вся информация на плате оперативной памяти обнуляется.
Каждый пользователь выбирает оперативную память по ряду известных показателей:
Объем – массив для хранения данных. Чем он больше, тем выше производительность и скорость работы компьютера.
Тайминги – стандартные задержки в функциональных циклах оперативной памяти, которые существенно влияют на скорость предоставления данных для вычисления центральному процессору.
И если с этими характеристиками все более или менее понятно, то такое понятие, как ранг оперативной памяти часто вызывает затруднение даже у довольно опытных пользователей.
В сети бытует мнение, что ранг памяти – это архитектура распайки чипов памяти на плате. Якобы у одноранговой памяти микросхемы расположены с одной стороны, а у двухранговой – с обеих, поэтому она лучше и быстрее. Но такое определение является ошибочным, к тому же не объясняет наличия четырехранговой и восьмиранговой памяти.
На самом деле рангом называется область микросхемы шириной в 64 бита, представляющая собой отдельный логический модуль, образованный определенным количеством чипов памяти. Соответственно, если логический модуль один – то и память именуется одноранговой, если два – двухранговой и так далее.
При этом логические модули используют один физический канал для передачи информации.
Каждый процессор способен поддерживать определенное количество потоков информации от оперативной памяти. То есть, если он рассчитан на 4 ранга, то можно установить в систему 4 одноранговые платы оперативной памяти, две платы на 2 ранга или одну на четыре. Все эти конфигурации взаимозаменяемы, но превышать норматив не следует. Система, укомплектованная в разрез с этими требованиями будет периодически выдавать ошибки и в отличие от ожиданий демонстрировать низкую производительность.
Узнать ранг оперативной памяти можно по маркировке на текстолите платы или наклейке. При этом единого стандарта обозначения не существует, и каждый производитель маркирует оперативную память по своим правилам.
Оперативная память Kingston содержит буквенное обозначение рангов: S (Single) — один ранг, D (Dual) — двухранговая, Q (Quadro) — четыре ранга памяти.
Из вышесказанного можно сделать вывод о том, что ранги оперативной памяти отвечают за скорость передачи данных. А, следовательно, влияют на общую производительность системы.
При этом интересной особенностью можно считать разгонный потенциал. Одноранговая память разгоняется эффективнее и функционирует в таком состоянии намного стабильнее, чем другие виды памяти.
Чем отличается серверная оперативная память?
Наибольшее значение ранг памяти имеет при сборке серверной платформы. Это объясняется огромными объемами информации, которыми в непрерывном режиме оперируют серверы. Поэтому, помимо остальных характеристик он должен быть укомплектован не менее чем 4 рангами оперативной памяти на один процессор.
Регистровая и LR-память отличается наличием дополнительного чипа – буфера, поэтому она часто называется регистровой или буферизированной. Это чип позволяет буферизировать не только команды, как контроллер в пользовательской плате, но передавать данные целыми пакетами.
Чип-буфер выделяет большое количество тепловой энергии. А значит система требует усиленного внимания к охлаждению.
В коротком видео компания Micron наглядно показывает, как в новом типе памяти DDR5 будет более чем в 2 раза эффективная пропускная способность