Просьба «докупить такую же планку» звучит просто, но с памятью она почти невыполнима. Наклейка на модуле описывает только гарантированный режим работы, а поведение на границе возможностей определяется тем, чьи микросхемы стоят на плате, из какой они партии и как разведён сам модуль. Два внешне одинаковых модуля с совпадающими надписями могут оказаться внутри разными устройствами.
Что вообще совпадает у двух модулей
Совместимость нужно разбирать по слоям. Первый слой — формальный: поколение стандарта, форм-фактор, наличие или отсутствие буфера и коррекции ошибок. Здесь несовместимость видна сразу, модуль просто не встанет в слот или не запустится.
Второй слой — заявленные параметры: объём, число рангов, номинальная частота, тайминги, напряжение. Они читаются из микросхемы конфигурации на самом модуле — небольшой энергонезависимой памяти, где записана таблица поддерживаемых режимов и профиль ускоренной работы. Плата опрашивает эту микросхему при включении и по ней принимает решение о режиме.
Третий слой — то, чего на наклейке нет. Какая партия микросхем, какая ревизия кристалла, какая плотность на кристалл, как устроена внутренняя топология модуля, какие вторичные и третичные задержки закладывал производитель. Именно этот слой определяет, вытянет ли пара модулей заявленный профиль в конкретном сокете. Производители меняют поставщика микросхем внутри одной торговой позиции, не меняя её обозначения, поэтому идентичность надписей ничего не гарантирует.
Как контроллер выбирает общий режим
Каналы памяти не могут работать на разных частотах. Контроллер один, тактовая сетка общая, поэтому режим выбирается единый для всех установленных модулей. Логика простая: берётся набор параметров, который выдерживают все планки одновременно, то есть наименьшая частота и наибольшие задержки из имеющихся.
Первое следствие: быстрый комплект, дополненный медленным модулем, целиком опускается до уровня медленного. Второе следствие менее очевидно. Профили ускоренной работы, записанные в модулях, не складываются и не усредняются — плата обычно применяет профиль первого опрошенного модуля ко всем сразу. Если у остальных запаса нет, система либо не стартует, либо стартует и падает под нагрузкой. Именно поэтому смешанный набор часто требует ручного отказа от профиля и работы на базовой частоте стандарта.
Третье следствие касается напряжения. Профили разных производителей рассчитаны на разные напряжения питания микросхем и контроллера. Общее напряжение тоже одно на всех. Модуль, спроектированный под меньшее напряжение, получает завышенное — это ускоряет деградацию; модуль, которому нужно больше, получает недостаточное — это даёт ошибки.
Как выглядят проблемы на практике
Худший вариант — не отказ, а частичная работоспособность. Система загружается, тесты проходят, но раз в несколько дней появляется синий экран с ошибкой обращения к памяти, повреждается файл, архив распаковывается с ошибкой контрольной суммы, компиляция падает в случайном месте. Признак характерный: сбои не воспроизводятся, каждый раз в другом месте, и переустановка ничего не меняет.
Механизм такой. Ошибка в памяти — это чаще всего единичный неверно считанный бит. Если он попал в неиспользуемую область, ничего не произойдёт. Если в код исполняемого файла — приложение упадёт. Если в данные, которые потом запишутся на диск, повреждение станет постоянным и переживёт перезагрузку. Обычные настольные модули не имеют коррекции и не сообщают о таких событиях, поэтому вина ложится на операционную систему или драйверы. Сценарии, где ошибки фиксируются и исправляются аппаратно, разобраны в разделе о памяти с коррекцией ошибок.
Второй типичный вариант — тренировка памяти при включении затягивается. Плата на каждом старте подбирает задержки и опорные напряжения; при разнородном наборе подбор идёт дольше и не всегда сходится, отсюда долгий чёрный экран, циклические перезапуски и откат на пониженный режим.
Третий вариант — нарушение симметрии рангов. Если в один канал попали одноранговый и двухранговый модули, а в другой два одинаковых, электрическая нагрузка на каналы различается, и предельная частота падает неравномерно.
Что делать, если смешивать всё же приходится
Порядок действий, который экономит время. Поставить только новые модули и убедиться, что система стабильна сама по себе. Затем добавить старые и запустить на базовой частоте стандарта, без профиля ускорения. Прогнать полноценный тест памяти — не пятиминутный, а несколько проходов подряд, потому что ошибки на границе режима проявляются не сразу. Если чисто, попробовать включить профиль и повторить тест. Если появились ошибки — вернуться к базовой частоте и оставить так.
Помогает и расстановка: одинаковые модули лучше разносить по разным каналам симметрично, чтобы нагрузка на каналы совпадала. Общие правила заполнения слотов и подбора узлов друг под друга собраны в разделе про оперативную память.
Отдельно стоит понимать цену вопроса. Комплект из двух модулей продаётся набором именно потому, что производитель отобрал планки и проверил их совместную работу в заявленном режиме. Покупка второго такого же набора не даёт четырёх проверенных вместе модулей — она даёт два проверенных набора, которые никто не тестировал в паре. Поэтому при планах на четыре модуля разумнее сразу брать набор из четырёх, а при расширении существующей системы — рассчитывать на работу в базовом режиме и считать это нормальным исходом, а не поломкой.