Подробный гайд по Memory Mirroring в BIOS серверов DDR4 - Часть 1

Подробный гайд по Memory Mirroring в BIOS серверов DDR4: принципы работы, требования к памяти, пути включения и влияние на серверную отказоустойчивость.

2026.09.03                  


Подробный гайд по Memory Mirroring в BIOS серверов DDR4 - Часть 1Подробный гайд по Memory Mirroring в BIOS серверов DDR4 - Часть 1

1. Что такое Memory Mirroring

Memory Mirroring — режим работы памяти, при котором данные одновременно записываются в два независимых набора модулей DIMM. Если один набор выходит из строя (ошибка канала, неисправность DIMM, сбой на линии контроллер–память), система продолжает работу, используя второй набор.

По аналогии с RAID 1, только на уровне контроллера памяти:

Контроллер памяти
   │
   ├── Набор A (рабочий/основной)
   └── Набор B (зеркало)


Запись идёт в оба набора. Чтение обычно выполняется из одного набора, но при ошибке контроллер переключается на зеркало.


2. Зачем это нужно

Зеркалирование памяти применяется в сценариях, где критична непрерывность работы:

  • базы данных с высокими требованиями к uptime;
  • финансовые и транзакционные системы;
  • телеком и сетевые сервисы;
  • промышленные и медицинские серверы;
  • системы, где простой дороже потери ёмкости/производительности.

Главная цель — защитить не от единичных битовых ошибок (это делает ECC), а от:

  • отказа целого DIMM;
  • деградации канала памяти;
  • ошибок сигнализации;
  • проблем с рангами/банкам;
  • частичного выхода из строя контроллера памяти, если архитектура позволяет.

3. Как это работает на аппаратном уровне

В серверных платформах с DDR4 память обычно подключается к контроллеру памяти CPU по нескольким каналам. Например, у Intel Xeon Scalable первого/второго поколения часто 6 каналов на сокет.

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

  • Primary set — основной набор;
  • Mirror set — зеркальный набор.

Оба набора должны быть:

  • одинакового объёма;
  • одинакового типа (RDIMM/LRDIMM);
  • одинаковой частоты и таймингов;
  • одинаковой ранговости;
  • установлены симметрично по правилам платформы.

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


4. Что защищает и чего не защищает

Защищает

Тип отказа Защищает? Комментарий
Отказ одного DIMM Да Если он входит в зеркальную пару
Ошибка канала памяти Да Зеркало использует другой канал/набор
Неисправность ранга Частично/да Зависит от реализации
Единичные битовые ошибки Да Но обычно это уже покрывает ECC
Полный отказ памяти сервера Нет Требуются другие решения
Ошибка самого CPU memory controller Частично Зависит от архитектуры

Не защищает

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

5. Требования к оборудованию

5.1. Поддержка платформой

Не каждый сервер поддерживает Memory Mirroring.

Опция зависит от:

  • модели CPU;
  • поколения платформы;
  • BIOS/UEFI версии;
  • чипсета/системной логики;
  • разводки слотов памяти на плате.

Чаще поддержка встречается в серверах верхнего и среднего класса на Intel Xeon.

На некоторых платформах вместо классического зеркалирования предлагаются:

  • ADDDC;
  • Memory Sparing;
  • Patrol Scrub;
  • Chipkill/DDDC;
  • Fault Resilient Mode;
  • Rank Sparing.

Важно:

На новых платформах и в части серверов с большим числом каналов DDR4 полноценное Memory Mirroring может быть ограничено или заменено другими RAS-механизмами. Всегда проверяйте документацию конкретной модели сервера.


5.2. Требования к модулям памяти

Для зеркалирования обычно требуется:

  1. Одинаковый объём модулей в зеркальных наборах.
  2. Одинаковый тип: только RDIMM или только LRDIMM. Смешивать нельзя.
  3. Одинаковая частота.
  4. Одинаковая ранговость.
  5. Одинаковый вендор и ревизия желательны, но не всегда обязательны.
  6. Установка по правилам слотов: обычно симметрично по каналам/группам.

Пример плохой конфигурации:

Channel A: 32 GB RDIMM
Mirror Channel: 16 GB RDIMM

Такая схема либо не включится, либо зеркало будет работать только в пределах общего объёма.


5.3. Требования к заполнению слотов

Большинство серверов требуют:

  • чётное количество идентичных наборов;
  • симметричную установку по каналам;
  • заполнение определённых групп слотов;
  • одинаковую конфигурацию на оба сокета в 2-сокетных системах.


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


6. Влияние на ёмкость и производительность

Ёмкость

Эффективная доступная память уменьшается примерно вдвое:

Установлено После включения Mirroring
64 GB ~32 GB
128 GB ~64 GB
512 GB ~256 GB

Это нормальное поведение.


Производительность

Влияние зависит от реализации, но обычно:

  • задержки записи растут;
  • пропускная способность может снизиться;
  • часть каналов перестаёт работать как независимые;
  • возможно ухудшение латентности из-за синхронной записи.

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


Где особенно заметна деградация

  • HPC и in-memory аналитика;
  • крупные базы данных с интенсивной записью;
  • виртуализация с высокой плотностью;
  • системы с высокой частотой аллокаций/деаллокаций;
  • приложения с интенсивным обменом между NUMA-узлами.

7. Сравнение с другими RAS-технологиями

Технология Что делает Плюсы Минусы
ECC Исправляет единичные ошибки, обнаруживает множественные Базовая защита, без потери ёмкости Не защищает от отказа DIMM целиком
ADDDC / Adaptive Double Device Data Correction Улучшенная защита от ошибок на уровне чипов/устройств Хороший баланс надёжности и ёмкости Зависит от CPU/BIOS
Memory Sparing Резервный ранг/модуль подменяет деградировавший Не требует постоянного полного зеркалирования Ограниченный запас замены
Patrol Scrub Фоновая очистка памяти от накопленных ошибок Уменьшает риск невосстановимых ошибок Не заменяет аппаратную защиту
Memory Mirroring Полное дублирование данных в двух наборах Высокая отказоустойчивость Потеря ~50% ёмкости, снижение производительности
Chipkill/DDDC Исправление ошибок на уровне нескольких битов/чипов Защита от деградации чипов Зависит от платформы

8. Подготовка перед настройкой

Перед включением зеркалирования выполните следующее.

8.1. Проверьте поддержку

  1. Откройте документацию сервера.
  2. Найдите разделы:
    • Memory Configuration
    • RAS Features
    • Memory Mirroring
    • Fault Resilient Memory
  3. Убедитесь, что ваш CPU поддерживает функцию.
  4. Проверьте, что версия BIOS/UEFI актуальна.

8.2. Проверьте модули

Убедитесь, что:

  • все DIMM из официального списка совместимости;
  • одинаковые по типу и объёму;
  • нет модулей с разными ревизиями SPD, если платформа чувствительна к этому;
  • контакты чистые;
  • модули установлены до щелчка/фиксации.

8.3. Обновите BIOS и BMC

Иногда опция отсутствует в старых прошивках или работает некорректно. Обновите:

  • BIOS/UEFI;
  • iDRAC/iLO/XClarity/IPMI BMC firmware;
  • CPLD/ME/BIOS-related firmware при наличии.

8.4. Сбросьте настройки при необходимости

Если ранее применялись экспериментальные настройки памяти, перед включением зеркалирования полезно:

  • загрузить BIOS Default Settings;
  • затем заново включить нужные функции.

9. Настройка в BIOS/UEFI

Пути отличаются у разных вендоров и зависят от версии прошивки. Ниже — типовые схемы.


9.1. Общая логика

Обычно нужно:

  1. Войти в BIOS/UEFI Setup.
  2. Перейти в раздел:
    • Advanced
    • Chipset
    • Memory Settings
    • Processor Configuration
    • RAS Features
  3. Найти параметр:
    • Memory Mirroring
    • Mirroring Mode
    • Channel Mirroring
    • Memory Mirror Mode
  4. Выбрать:
    • Enabled
    • или конкретный режим: Channel / Slot / Inter-Socket
  5. Сохранить настройки и перезагрузиться.



9.2. Пример для Dell PowerEdge

Типовой путь:

System BIOS Settings
→ Memory Settings
→ Memory Mirroring
→ Enabled

Или:

System BIOS Settings
→ Processor Settings
→ Memory Mirroring

В некоторых поколениях встречается вариант выбора режима:

  • None
  • Address Range Mirroring
  • Channel Mirroring
  • Socket Mirroring

Уточнение:

Точные названия зависят от поколения сервера, например 13G, 14G, 15G. На ряде платформ опция может быть недоступна, если не выполнены требования к установке DIMM.

После включения проверьте:

  • iDRAC → System → Memory;
  • Lifecycle Controller → System Information;
  • доступный объём памяти в ОС.

9.3. Пример для HPE ProLiant

Типовой путь через BIOS/RBSU:

System Configuration
→ BIOS/Platform Configuration (RBSU)
→ Advanced System Options
→ Processor Options
→ Memory Mirroring
→ Enabled

Или:

Advanced Memory Protection
→ Memory Mirroring

У HPE также встречаются термины:

  • Advanced ECC Support
  • Online Spare Memory
  • Mirrored Memory

Важно:

Если установлена неподходящая конфигурация DIMM, BIOS может автоматически заблокировать зеркалирование или скрыть опцию.


9.4. Пример для Lenovo ThinkSystem

Типовой путь:

System Settings
→ Processors
→ Memory Mirroring
→ Enabled

Или:

System Settings
→ Memory
→ Memory Mirroring

В Lenovo XClarity Controller можно дополнительно проверить:

  • Server configuration → Memory;
  • Event logs;
  • Memory health status.

9.5. Пример для Supermicro

Типовой путь:

Advanced
→ Chipset Configuration
→ North Bridge
→ Memory Configuration
→ Memory Mirroring
→ Enabled

Или:

Advanced
→ Memory Configuration
→ Memory RAS Configuration
→ Mirroring

В зависимости от платы может быть выбор:

  • Disable
  • Enable
  • Auto
  • Specific channel pair

9.6. Пример для Intel-платформ

На серверных платах и платформах Intel путь часто выглядит так:

Advanced
→ Memory Configuration
→ Memory RAS Configuration
→ Memory Mirroring

Или:

Processor Configuration
→ Memory Controller Configuration
→ Mirroring Mode

Встречающиеся значения:

  • Disabled
  • Enabled
  • Inter-socket Mirroring
  • Intra-socket Mirroring

10. Возможные режимы зеркалирования

В зависимости от платформы режимы могут называться по-разному.

10.1. Channel Mirroring

Зеркалируются пары каналов памяти.

Пример:

Канал 0  ↔  Канал 1
Канал 2  ↔  Канал 3

Наиболее частый вариант для систем с несколькими каналами.


10.2. Socket Mirroring / Inter-Socket Mirroring

Зеркалирование между сокетами. Обычно требует двух идентичных конфигураций памяти в каждом сокете.

Пример:

Socket 0 Memory Set ↔ Socket 1 Memory Set

Используется в системах, где важна защита от отказа, связанного с одним сокетом/контроллером.


10.3. Rank Mirroring

Зеркалируются ранги внутри одного канала или между каналами. Встречается реже и сильно зависит от платформы.


10.4. Address Range Mirroring

Зеркалируется не вся память, а только определённый адресный диапазон. Это более гибкий вариант, но не всегда доступен в серверных BIOS.


Продолжение в Части 2


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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