of ranks x dram devices что это
Про ранги и виртуализацию в 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 никто не отменял.
Ранги оперативной памяти: что это такое, как узнать и какая лучше
Итак, оперативная память имеет следующие ключевые параметры:
И вроде, чтобы определить, насколько эффективна будет работа оперативной памяти, этого достаточно. Но если ввести еще одну переменную — ранг (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 бита. В зависимости от того, как спроектирован модуль памяти — c использованием чипов х4, х8 или х16 бит, — он может иметь один, два или даже четыре блока областей данных шириной 64 бита
Если модуль спроектирован с использованием микросхем только с одной стороны памяти, это одноранговая память?
Важно не количество чипов и их расположение, а разрядность использованных микросхем, но чаще всего именно так. Модуль памяти в десктопном компьютере имеет шину 64 бита, набран может быть как восемью чипами х8, так и 16 чипами х4, которые будут распаяны по обе стороны модуля. При этом модуль будет считаться одноранговым.
В настоящее время самыми распространенными модулями памяти на рынке являются одноранговые с объемом 8 ГБ. С одной стороны модуля памяти распаяно восемь х8 чипов памяти объемом 1 ГБ каждый. Модуль объемом 16 ГБ из этих же чипов объемом 1 ГБ получится уже из 16 чипов по восемь с каждой стороны. В данном случае будет уже двухранговый модуль.
Прогресс не стоит на месте, и в настоящее время в продаже стали появляться одноранговые модули в объеме 16 ГБ. В них используются чипы памяти повышенной емкости на 2 ГБ.
Одноранговая память имеет ширину 64 бита, тогда как двухранговая память имеет ширину 128 бит. Но, поскольку один канал памяти имеет ширину всего 64 бита, как и одноранговая память, контроллер памяти может одновременно обращаться только к одному рангу. Это не вызывает проблем при работе с двухранговыми модулями. Просто пока один ранг занимается ответом на переданную ему команду, другой ранг уже можно подготавливать информацию для следующей команды.
Как узнать, сколько рангов у оперативной памяти?
Производители оперативной памяти не указывают в технических характеристиках количество рангов. Поэтому, чтобы узнать, сколько рангов у памяти, необходимо воспользоваться специальными программами: CPU-Z, Thaiphoon Burner или AIDA64. Или же можно просто внимательно осмотреть сам модуль.
Тест и разгон одноранговых и двухраговых модулей
В теории одноранговые модули обладают куда большим разгонным потенциалом. На практике все зависит от производителя и качества самих чипов, материнской платы и контроллера памяти в самом процессоре.
Тестируемые в этом материале комплекты памяти на отборных чипах Samsung B-Die имеют совершенно одинаковый разгонный потенциал. Можно сказать, что попался не очень удачный комплект KFA2 Hall Of Fame DDR4-3600, а может, просто удачный комплект G, Skill F4-3000C14-16GVR 2x16GB, который может стабильно работать на частоте 4333 МГц с таймингами CL16. В любом случае разгон — это всегда лотерея.
С теорией более-менее разобрались, теперь практически проверим, как отразится на производительности использования одно и двухранговых модулей.
В тестирование принимает участие оперативная память на абсолютно идентичных чипах K4A8G085WB-BCPB Samsung B-Die.
Конфигурация тестового стенда
Для тестирования был выбран процессор AMD Ryzen 5 4650G неслучайно. Именно оперативная память, а вернее ее производительность, оказывает наибольшее влияние на производительность встроенного видеоядра.
Чтобы тестирование не было однобоким, к нему в пару был выбран самый популярный процессор на рынке — Ryzen 5 3600X. Во время тестирования память фиксировалась на частоте 3600 МГц со следующими таймингами.
AMD Ryzen 5 4650G
AMD Ryzen 5 3600X
Результаты тестирования
По традиции начинаем тестирование с бенчмарков.
AIDA64 Cache & Memory Benchmark
Одноранговые модули имеют небольшое отставание в операции копирования, в тоже время наблюдаются чуть большие задержки памяти у двухранговых модулей.
3DMark
Разница в производительности незначительна и больше похожа на погрешность измерений, но из раза в раз результат повторяется.
World of Tanks enCore RT
Shadow of the Tomb Raider
Выводы
Какой-либо существенной разницы в производительности между одно- и двухранговой памятью при использовании процессора Ryzen 5 3600X нет как в синтетических бенчмарках, так и в играх. Разница в производительности в лучшем случае составляет 3 %.
При использовании же двухранговой памяти с гибридными процессорами производительность встроенной графики увеличивается примерно на 6-7 %.
В тестировании использовались идентичные чипы памяти и фиксировались все возможные тайминги.
Целенаправленно рассматривать к покупке именно двухраноговые модули нет никакого смысла, если только нет необходимости в большем объеме памяти — это единственное преимущество при выборе именно двухранговой памяти.
Сейчас в продаже имеются комплекты кит памяти из двух модулей объемом 64 ГБ, что просто невозможно организовать, используя одноранговую память.
Что такое ранг оперативной памяти?
Термин «ранг» создан организацией JEDEC, группой по разработке стандартов модулей памяти, с целью провести различие между количеством банков оперативной памяти в модуле и количеством банков памяти в комплектующих компьютера или микросхеме памяти. Понятие «ранг памяти» применимо ко всем форм-факторам модулей памяти, но в целом имеет важное значение в первую очередь для серверных платформ из-за больших объемов памяти, которыми они управляют.
Ранг памяти — это блок или область данных, которая создается с использованием нескольких или всех микросхем памяти в модуле. Ранг — это блок данных шириной 64 бита. В системах, которые поддерживают код коррекции ошибок (ECC), добавляются дополнительные 8 битов для создания блока данных шириной 72 бита. В зависимости от того, как спроектирован модуль памяти, он может иметь один, два или четыре блока областей данных шириной 64 бита (или шириной 72 бита для модулей ECC). Таким образом, память бывает одноранговая, двухранговая и четырехранговая. В маркировке модуля памяти Crucial присутствуют обозначения 1Rx4, 2Rx4, 2Rx8 или аналогичные.
Обозначения х4 и x8 указывают на количество банков в компоненте памяти или микросхеме. Именно это количество определяет ранг готового модуля, а не количество отдельных микросхем памяти на печатной плате (ПП). Другими словами, если модуль памяти имеет микросхемы на обеих сторонах ПП, он называется двухсторонним. При этом модуль может быть также одноранговым, двухранговым или четырехранговым, в зависимости от проектировки этих микросхем.
Поскольку ранг памяти составляет 64 или 72 бита, для модуля ECC, сделанного из микросхем x4, потребуется восемнадцать микросхем для одного однорангового модуля (18 x 4 = 72). Для модуля ECC, изготовленного из микросхем x8, необходимо только девять микросхем для ранга памяти (9 x 8 = 72). Модуль, изготовленный из восемнадцати микросхем x8, превращается в двухранговый модуль памяти (18 x 8 = 144, 144/72 = 2). Модуль ECC, который имеет вдвое больше микросхем x8, становится четырехранговым (36 x 8 = 288, 288/72 = 4).
Наличие двух- или четырехрангового модуля представляет собой то же самое, что и объединение двух или четырех модулей DRAM в один модуль. Например, можно перейти от четырех одноранговых модулей RDIMM объемом 4 ГБ к одному четырехранговому модулю RDIMM объемом 16 ГБ (при условии, что система совместима с модулями RDIMM объемом 16 ГБ).
Недостаток модулей более высокого ранга состоит в том, что на серверах иногда устанавливается ограничение на количество рангов, к которым они могут обращаться. К примеру, сервер с четырьмя гнездами памяти может быть ограничен в общей сложности до восьми рангов. Это означает, что вы можете установить четыре одноранговых модуля или четыре двухранговых модуля, но при этом только два четырехранговых модуля, так как установка большего количества приведет к превышению количества рангов, к которым может обратиться сервер.
По вопросам рангов и их ограничений мы рекомендуем ознакомиться с документацией производителя для получения руководящих указаний и инструкций, которые будут применимы к вашей конкретной системе. Дополнительная информация о рангах и системах представлена здесь.
© Корпорация Micron Technology, Inc., 2019. Все права защищены. Продукты, их технические характеристики, а также информация о них могут быть изменены без уведомления. Crucial и Micron Technology, Inc. не несут ответственности за ошибки и упущения в текстовых или фотографических материалах. Micron, логотип Micron, Crucial и логотип Crucial являются товарными знаками или зарегистрированными товарными знаками Micron Technology, Inc. Все остальные товарные знаки являются собственностью соответствующих владельцев.