Перейти к содержимому

Memory mode independent что это

  • автор:

Конфигурирование подсистемы памяти в серверах семейства x86

Контроллер памяти — цифровая схема, управляющая потоком данных к и от оперативной памяти. В данном документе контроллер памяти рассматривается как функциональный блок процессора. Одной из характеристик контроллера памяти является количество каналов памяти.

Канал памяти — «путь» от модуля памяти к контроллеру по которому передаются считываемые и записываемые данные. Наиболее подходящая аналогия при определении канала памяти – водопроводная труба, соединяющая резервуар-источник и резервуар-приёмник.

Банк памяти — группа модулей памяти, установленных в одноимённые слоты на разных каналах одного контроллера.

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

Ранг — количество наборов микросхем, разрядность каждого из которых составляет 64 бита, подключенных к одной линии выбора микросхемы. Ранг является характеристикой модуля памяти.

Технология DDR3

Тип памяти DDR3 – это тип оперативной памяти, используемой в вычислительной технике в качестве оперативной памяти и видеопамяти.
Память DDR3 пришла на смену памяти типа DDR2 и обладает по сравнению с ней преимуществами в более высокой пропускной способности (до 60%) и пониженным энергопотреблением (снижение от 15% до 40%).
Модули памяти DDR3 так же, как и модули памяти DDR2, имеют 240 контактов, однако ключ находится в ином месте печатной платы модуля, что не позволяет установить модуль памяти DDR3 в сокет, предназначенный для модулей DDR2 (см. Рис.1):

Рис. 1

Преимущество модулей DDR3 по сравнению c модулями DDR2 в энергопотреблении связано с понижением напряжения питания с 1,8 вольт до 1,5 вольта. Существуют также модули памяти, работающие от напряжения 1,35 вольта, что делает энергопотребление систем, построенных с использованием таких модулей, ещё более низким.
Ключевым фактором, позволившим обеспечить двукратный прирост скорости по сравнению с DDR2, стала особая топология соединения микросхем памяти, использованная в модулях DDR3. Модули памяти DDR2 использовали топологию соединения, наиболее похожую на дерево и именуемую «T-Branch» (см. Рис. 2):

Рис. 2

При такой топологии соединения микросхем памяти, командные сигналы поступают ко всем микросхемам одновременно. При этом все микросхемы одновременно выставляют в шину запрошенные данные, а контроллер памяти считывает получившийся набор параллельных битов. Период времени, когда контроллер может считать данные, называется «data eye», и этот период сокращается при росте частоты, на которой работает память.

Решить проблему сокращения периода времени, в течение которого могут быть считаны данные, позволяет топология соединения чипов памяти, называемая «fly-by topology» (см. Рис. 3):

Рис.3

Особенность этой топологии в том, что теперь команды управления доставляются к чипам памяти последовательно, а данные, которые каждый чип памяти выставляет в шину, также считываются контроллером памяти последовательно. Такое решение позволило повысить частоту работы памяти и обойти недостатки, присущие параллельной «древовидной» архитектуре.
Скорость работы разных модулей памяти приведена в Табл.1:

Стандартное название Частота шины Эффективная скорость Название модуля Скорость передачи данных
DDR3-800 400 МГц 800 MT/s PC3-6400 6400 МБ/с
DDR3-1066 533 МГц 1066 МТ/s PC3-8500 8533 МБ/с
DDR3-1333 667 МГц 1333 МТ/s PC3-10600 10667 МБ/с
DDR3-1600 800 МГц 1600 МТ/s PC3-12800 12800 МБ/с
DDR3-1866 933 МГц 1866 МТ/s PC3-14900 14933 МБ/с
DDR3-2133 1066 МГц 2133 МТ/s PC3-17000 17066 МБ/с

Значение эффективной скорости часто называется «частотой» и имеет размерность «МГц», хотя на самом деле эффективная скорость работы памяти измеряется в миллионах передач за секунду – «mega transfers per second» – MT/s.
Далее в документе скорость работы модуля будет измеряться в мегагерцах – МГц.

Понятие ранга

Рангом модуля памяти называется количество наборов микросхем разрядностью 64 бита, подключенных к линии выбора микросхемы (chip select).
Объясняя очень грубо, двухранговый модуль – это два логических модуля, распаянных на печатной плате и пользующихся поочерёдно одним и тем же физическим каналом передачи данных. Четырёхранговый – то же самое, что и двухранговый, но уже в четырёхкратном масштабе (см. Рис. 4, Рис. 5):

Рис. 4
Рис. 5

Как нетрудно догадаться, организация модуля памяти с использованием рангов позволяет увеличить объём оперативной памяти, доступной по единственному набору линий.
Организация модулей памяти с использованием рангов применяется в серверах и тяжелых рабочих станциях, для достижения максимального объёма оперативной памяти при ограниченном количестве слотов.

Типы модулей памяти

В настоящее время существует три типа модулей памяти:

  • Регистровые (registered);
  • Небуферизованные (unbuffered);
  • Со сниженной нагрузкой (load reduced).

Регистровые модули памяти

Регистровые модули памяти являются самым распространёнными и наиболее часто используемыми модулями памяти. Сокращённое название регистровых модулей, принятое в различных справочниках и спецификациях – RDIMM.
Наименование «регистровый» означает, что модули этого типа имеют буферизирующий регистр который используется для буферизации адресных и командных сигналов (см. Рис. 6):

Рис. 6

Наличие буферизирующего регистра позволяет снизить электрическую нагрузку на адресную шину, что, в свою очередь, позволяет установить в канал больше модулей памяти, но не более восьми рангов для одного канала.
Недостатком такого решения является незначительное повышение энергопотребления и увеличение задержек.
Используются модули памяти RDMM в больших, высокопроизводительных серверах, где требуется большое количество оперативной памяти.
Отдельно хотелось бы отметить, что полностью буферизованные модули памяти (FBDIMM), в которых буферизация осуществляется для адресных сигналов, сигналов управления и данных не являются частью стандарта DDR3.
Архитектура FBDIMM поддерживает больше модулей памяти на каждый канал памяти, но сами по себе модули FBDIMM более дорогие, потребляют больше энергии и обладают значительной задержкой. Увеличение количества каналов в серверах последних поколений, использующих процессоры Intel Xeon 5500 и более новые, сделало невыгодным использование модулей FBDIMM в качестве оперативной памяти.

Небуферизованные модули памяти

Небуферизованные модули памяти являются вторыми по распространённости и используемости модулями памяти после регистровых модулей. Сокращённое название небуферизованных модулей – UDIMM.
Наименование «небуферизованный» означает, что в модулях такого типа отсутствуют какие-либо промежуточные элементы между чипами памяти и контроллером памяти, то есть чипы памяти посредством адресных и управляющих линий подключаются напрямую к контроллеру памяти.
Организация подключения модулей памяти без каких-либо промежуточных элементов обеспечивает наиболее быстрый обмен данными между контроллером и чипами памяти на модуле, но при этом установка каждого дополнительного модуля в канал увеличивает электрическую нагрузку на шину. Как следствие, в один канал контроллера можно установить не боле двух двухранговых модуля UDIMM.
Из-за ограничения на количество устанавливаемых модулей сфера применения модулей UDIMM ограничена использованием в небольших недорогих серверах.
Несомненным преимуществом модулей UDIMM, также вытекающим из отсутствия буферизирующих компонентов, является высокая скорость работы и малые задержки.

Модули памяти со сниженной нагрузкой

Модули памяти со сниженной нагрузкой появились недавно и являются, пожалуй, наиболее редко используемыми модулями на данный момент. Сокращённое название модулей со сниженной нагрузкой – LRDIMM.
Модули памяти LRDIMM схожи с модулями RDIMM наличием промежуточного элемента между контроллером и микросхемами памяти, однако принцип их работы отличается от принципа работы регистровых модулей DIMM.
Модули LRDIMM оснащаются буфером, который, в отличие от модулей RDIMM, буферизует не только сигналы управления, но и данные (см. Рис. 7):

Рис. 7

При использовании модулей RDIMM пользователи сильнее ограничены в возможных вариантах конфигураций каналов, чем при использовании модулей LRDIMM. При использовании модулей RDIMM оптимальной является установка не более двух модулей DIMM на канал, поскольку при использовании третьего банка скорость работы памяти снижается.
Модули LRDIMM не имеют ограничений, присущих модулям RDIMM, потому обладают механизмом, называемым “умножение рангов” – “ rank multiplication”. Благодаря этому механизму, четырехранговые модули LRDIMM преобразуются для контроллера памяти в двухранговые. Благодаря уменьшению электрических рангов модуля LRDIMM сервер может поддерживать модули LRDIMM с повышенными скоростями по сравнению с модулями RDIMM. Например, при напряжении 1,5 В на модуль памяти процессор Xeon E5 может поддерживать до двенадцати модулей LRDIMM, или до 768ГБ для двухпроцессорного сервера, при скоростях памяти до 1066МГц. По сравнению с ними, модули RDIMM емкостью 32ГБ, доступные только в четырехранговом исполнении, ограничены в количестве – до 8 модулей на процессор Xeon E5 и в скорости – до 800МГц.

Тип модуля RDIMM UDIMM LRDIMM
Емкости модулей 2ГБ, 4ГБ, 8ГБ, 16ГБ, 32ГБ 1ГБ, 2ГБ, 4ГБ 32ГБ
Максимальное количество модулей на канал 3x1R, 3x2R, 2x4R 2x2R 3x4R
Low power option 4ГБ, 8ГБ,16ГБ, 32ГБ 4ГБ 32ГБ
Обнаружение ошибок да нет да
Низкая стоимость нет да нет
Количество рангов 1, 2, 4 1, 2 4
Ширина шины данных DRAM, бит x4, x8 x8 x8
Максимальная емкость канала 64ГБ 8ГБ 96ГБ

Архитектура подсистемы памяти

DDR3 является самостоятельной спецификацией памяти, однако она используется рука об руку с архитектурой подсистемы памяти, именуемой NUMA (Non-Uniform Memory Access).

Ранняя архитектура подсистемы памяти

Вплоть до процессоров Intel Xeon 5500 подсистема памяти серверов на базе процессоров Intel строилась с использованием северного моста, который содержал в себе контроллер памяти (см. Рис. 8):

Рис. 8

Каждый процессор имел доступ ко всей памяти, общаясь с контроллером памяти при помощи шины FSB (Front Side Bus). Такое построение подсистемы памяти обеспечивало до 9,6 Гбит/с теоретической пропускной способности для канала, заполненного модулями памяти PC2-6400 FBDIMM.
Однако, подсистема памяти, построенная при помощи контроллеров памяти, интегрированных в северный мост, обладает некоторыми негативными особенностями:

  • Ширина полосы пропускания шины FSB является узким местом подсистемы памяти;
  • Конфигурации большого объёма требуют использования модулей FBDIMM, что приводит к увеличению задержек и снижению общей производительности подсистемы памяти.

Архитектура подсистемы памяти NUMA

Начиная с процессоров Intel Xeon 5500, контроллер памяти стал интегрирован непосредственно в процессор, переместившись туда из микросхемы чипсета.
Такая конструкция процессора, а также появление в процессорах Intel шины QPI (Quick Path Interconnect) определили архитектуру подсистемы памяти, известную как NUMA (Non-Uniform Memory Access). К слову сказать, сервера на процессорах AMD Opteron использовали построение подсистемы памяти по архитектуре NUMA c момента своего появления – с модулями DDR1 и DDR2.
Применение архитектуры NUMA в серверных системах позволило обойти узкое место в виде сокращения ширины пропускания процессорной шины, неизбежно появлявшееся в SMP-системах при увеличении количества процессоров.
Все современные серверы построены по архитектуре NUMA, что означает возможность для каждого из процессоров сервера получить доступ ко всей памяти системы (см. Рис. 9):
Двухпроцессорные серверы, построенные на базе процессоров Intel и AMD, имеют сходную архитектуру подсистемы памяти, с разницей лишь в названии шины, предназначенной для обмена данными между процессорами – у Intel она называется QPI, а у AMD – HyperTransport (см. Рис. 9):

Рис. 9

Применение архитектуры NUMA в серверных системах позволило решить следующие проблемы:

  • Избавиться от узкого места в виде процессорной шины;
  • Позволило создавать системы с большим количеством оперативной памяти без значительного падения производительности подсистемы памяти.

Использование модулей памяти DDR3 в системах, имеющих организацию памяти по архитектуре NUMA, позволяет обеспечить значительный рост пропускной способности. Так, использование модулей памяти с эффективной скоростью 1600 MT/s позволяет теоретически обеспечить пропускную способность в 12,8 Гбит/с для единственного канала памяти. Использование модулей DDR3 в двухпроцессорных системах с тремя каналами памяти для каждого процессора позволит обеспечить ширину полосы пропускания подсистемы памяти в 64 Гбит/с, что на 65% выше аналогичного показателя для систем, построенных по архитектуре с использованием северного моста и модулей DDR2.

Создание конфигураций памяти

После того, как мы разобрались с тем, как устроена подсистема памяти в современных серверах и описали все значимые характеристики модулей памяти, перейдём непосредственно к описанию процесса создания конфигураций памяти.
В процессе создания конфигураций памяти всегда решается вопрос баланса между итоговым объёмом ОЗУ, производительностью подсистемы памяти, её энергопотреблением и ценой модулей. В этой связи сложно предложить решение, одновременно являющееся оптимальным по всем параметрам, однако можно наметить некоторые соображения, следуя которым можно будет проще получить решение в каждом конкретном случае.
В первую очередь следует задуматься о том, какие требования предъявляются к подсистеме памяти со стороны приложений, для работы которых собирается сервер, к чему они наиболее требовательны – к объёму, скорости работы или пропускной способности. На следующем шаге следует задуматься о том, какую цену вы готовы заплатить за максимально эффективное удовлетворение запросов приложений, потому что иногда дополнительные 3-5% производительности могут стоить до 40% дороже.
Факторами, влияющими на производительность подсистемы памяти, являются:

  • Многоканальный режим работы подсистемы памяти;
  • Скорость работы модулей;
  • Электрическая нагрузка на шину данных.

Многоканальный режим работы подсистемы памяти

Многоканальный режим работы подсистемы памяти является ключевым фактором, влияющим на производительность. Чем больше каналов задействовано, тем выше пропускная способность подсистемы памяти. Многоканальный режим работы подсистемы памяти называется термином «interleaving» и состоит в том, что хранение блоков данных, составляющих единое целое в адресном пространстве операционной системы, распределяется между модулями, установленных в разных каналах контроллера памяти. В обычном случае во время обращения к памяти никакие другие обращения к памяти производиться не могут. При работе в многоканальном режиме, соседние по адресам ячейки размещаются в различных модулях памяти, и появляется возможность производить несколько операций одновременно.
За счёт такого распараллеливания достигается выигрыш в скорости записи и чтения данных (см. Рис. 10):

Рис. 10

Поэтому, устанавливая модули в слоты, сперва следует двигаться «вширь», заполняя все каналы, и только потом «вглубь», добавляя второй и последующий модули в канал.
Задействование каждого следующего канала теоретически удваивает величину пропускной способности. Рост пропускной способности наблюдается до тех пор, пока все 8 каналов (для 2-процессорной системы) не будут задействованы.
При установке модулей памяти следует обращать внимание на объёмы модулей. Наиболее предпочтительной является ситуация, когда объёмы модулей, устанавливаемых в соседние каналы, одинаковы.
Требование одинакового объёма следует из распараллеливания хранения данных – когда объёмы модулей одинаковы, контроллер памяти может равномерно «размазать» по ним адресное пространство (для двух модулей – в один четные «слова», в другой «нечетные», длина «слова» зависит от разрядности памяти)
Тогда при последовательном чтении адрес надо передавать в два раза реже, и т.к. адрес для второго чтения известен заранее, то не надо второй раз ждать его дешифрации и пока откроются банки памяти.
В случае если используются модули разного объёма, равномерное распределение данных по модулям памяти становится невозможным, к тому же контроллер вынужден чаще передавать адрес для считывания данных из модулей большего объёма, что приводит к снижению производительности.

Скорость работы модулей

Вторым фактором, влияющим на производительность подсистемы памяти, является скорость работы модулей. Понятно, что чем выше скорость работы, тем выше итоговая производительность подсистемы памяти.
При выборе модулей памяти следует обращать внимание на поддерживаемую скорость работы модуля, а также на скорость работы с памятью процессора. В случае несовпадения этих величин, подсистема памяти будет работать на меньшей из двух частот. Например, процессор Intel Xeon E5-2609 поддерживает скорости работы с памятью 800МГц и 1066МГц, поэтому установка в систему на этом процессоре более скоростных модулей памяти не приведёт к росту производительности.
Также следует обращать внимание на скорость работы модулей памяти. В случае если конфигурация будет составляться из модулей с разными частотами работы, итоговая скорость работы всех модулей памяти будет выбрана по наименьшей из частот работы модулей.
Например, если в системе установлены модули памяти со скоростью работы 1333МГц, то установка части модулей, поддерживающих скорость работы 1600МГц, не приведёт к росту производительности.
Производительность работы подсистемы памяти при 1333 MT/s на 20% выше, чем при 1066 MT/s. В свою очередь, производительность работы подсистемы памяти при 1600 MT/s на 17% выше, чем при 1333 MT/s.
Скорость работы с памятью каждого конкретного процессора сообщается производителем и может быть почерпнута из соответствующих документов:

Количество рангов в канале

Как упоминалось выше, одной из характеристик модуля памяти является количество рангов – один, два или четыре. Вернёмся к понятию ранга. Ранг модуля памяти – это количество наборов микросхем разрядностью 64 бита, подключенных к линии выбора микросхемы (chip select). Таким образом, наибольшее количество чипов, одновременно подключенных к линии адреса, у четырёхранговых модулей.
Теперь рассмотрим процесс считывания данных из оперативной памяти. Как мы знаем, оперативная память представлена двумерным массивом запоминающих элементов, обращение к которым происходит путём указания строки и столбца. Так вот, в начале цикла считывания происходит открытие ряда (строки), из которой будет производиться чтение, затем осуществляется выбор столбца и производится считывание данных. В двухранговых и четырёхранговых модулях в строке содержится больше запоминающих элементов, чем в одноранговых модулях, строка как бы проходит сквозь ранги. Также следует отметить, что выбор столбца и последующее считывание при открытой строке происходит гораздо быстрее, чем при регулярном повторном открытии строки. Собственно, на этом и базируется преимущество модулей с большим количеством рангов – для них выше вероятность повторного чтения из уже открытой строки, т.к. строка содержит больше запоминающих элементов.
Если следовать этой логике, то наиболее перспективно при создании конфигурации памяти использовать именно четырёхранговые модули, т.к. именно для них вероятность повторного чтения из открытой строки будет выше всего. На практике дело обстоит таким образом, что применение четырёхранговых модулей создаёт большую электрическую нагрузку на шину, чем при использовании одно- или двухранговых модулей, поэтому контроллер вынужден снижать скорость работы памяти, чтобы обеспечить целостность сигнала. Поэтому, несмотря на то, что теоретически четырёхранговые модули должны быть производительнее двухранговых, на практике получается так, что конфигурации, построенные с использованием четырёхранговых модулей, работают медленнее, чем конфигурации, построенные с использованием одно- и двухранговых модулей.
В современных серверах, построенных на процессорах Intel Xeon 5600 и более новых, а также аналогичных им процессорам AMD, прослеживается следующая тенденция – скорость работы канала остаётся постоянной величиной при установке в него как единственного одноранговогно или двухрангового модуля, так и при установке пары из двух одноранговых или двухранговых модулей.
Конкретное значение скорости работы канала зависит от процессора, установленного в сервере, используемых модулей памяти и является справочной величиной, приведённой в документации к серверу.

Примеры конфигураций

Итоговая конфигурация подсистемы памяти для сервера может быть одного из трёх видов:

  • Сбалансированная;
  • Почти сбалансированная;
  • Несбалансированная.

Особенности этих конфигураций приведены в Табл. 3:

Вид конфигурации Все модули идентичны Все каналы заполнены Все каналы заполнены одинаково
Сбалансированная Да Да Да
Несбалансированная Может быть Может быть Нет
Почти сбалансированная Нет Да Да

Memory mode – Independent что это?

Что такое Independent Memory mode в BIOS

В настройках BIOS на некоторых материнских платах можно встретить параметр Memory mode для которого установлено значение Independent. В данной статье мы расскажем, что это такое и на что влияет в работе компьютера.

Режим работы памяти

Как можно догадаться из названия Memory mode задает режим работы оперативной памяти. Установленное значение Independent активирует так называемый независимый режим.

В этом режиме оперативная память работает с максимальной скоростью (должно быть установлено более одного модуля ОЗУ) благодаря индивидуальной адресации каналов памяти.

Independent Memory mode в настройках BIOS

Схема работы независимого режима оперативной памяти

Минусом же данного режима является снижение стабильности работы системы, так как отключается защита от сбоев.

Поэтому при появлении проблем с работой оперативной памяти (ошибки, синие экраны смерти) рекомендуется отключить режим Independent в Memory mode.

Лучшая благодарность автору — репост к себе на страничку:

Independent Memory Mode — что это в биосе?

Приветствую друзья. Данный материал расскажет об одной функции, которую можете встретить в BIOS компьютера.

Independent Memory Mode — что это такое в биосе?

Активация независимого режима работы памяти (RAM), обеспечивает максимальную производительность, но не имеет защиты от сбоев.

  1. Контроллеры ОЗУ E7 v3 на серверах Lenovo поддерживают данную опцию, а также Lockstep.
  2. При включении опции, если система обнаруживает три подряд ошибки, то оперативка автоматически может переключаться в режим Lockstep. Это касается оборудования Lenovo, но данное поведение может быть замечено и на других производителях.
  3. Независимый режим может быть выставленный по умолчанию в серверных конфигурациях. Порядок установки планок DIMM при данном режиме зависит от количества процессоров (CPU) и планок оперативки.

Некоторые дополнительные рекомендации:

Активация Independent Memory Mode подразумевает что каждый канал памяти адресуется индивидуально. Данные чередуются из двух каналов, а масштабируемый буфер памяти разделяет данные. При таком подходе канал SMI2 работает с удвоенной скоростью. Также указывается, что разьемы ОЗУ могут быть заполнены в любом порядке, однако могут быть нюансы, зависит от оборудования, необходимо читать мануалы.

Заключение

  • Independent Memory Mode — настройка BIOS, позволяющая активировать независимый режим памяти для увеличения производительности памяти, но снижает безопасность (отсутствует защита от сбоев).
  • Осторожно включать на серверных машинах, где важна стабильность/безопасность данных.

Память в режиме LockStep Mode. Принцип работы.

Всем привет.
Описание LockStep mode из мануала hp:
Lockstep memory mode uses two memory channels at a time and provides an even
higher level of protection.
 In lockstep mode, two channels operate as a single channel—each write and
read operation moves a data word two channels wide.
 The cache line is split across both channels to provide 2x 8-bit error detection
and 8-bit error correction within a single DRAM.
 In three-channel memory systems, the third channel is unused and left
unpopulated.
The Lockstep Memory mode is the most reliable, but it reduces the total system
memory capacity by a third in most systems.

Вот мое толкование:

Два из трех каналов памяти объединяются в один. Благодаря этому данные при чтении\записи объединяются в «слова» (data word) по 8 бит, на каждый канал по 4 бита. Так как технология AECC позволяет определять и корректировать ошибки в 4-х битах на одном чипе DRAM, мы получаем возможность корректировать ошибки в 8 битах (одном «слове») с разных чипов. Другими словами в режиме LockStep мы получаем самую высокую степень защиты данных не прибегая к избыточности памяти (как в режиме Mirror). Основной недостаток – простаивающий третий канал памяти.

Правильно ли я понимаю суть процесса? Какие еще преимущества дает Lockstep?

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

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

https://kapelnicza.vyvod-iz-zapoya-na-domu-voronezh.ru/