Skip to content

Instantly share code, notes, and snippets.

@gema-arta
Created January 30, 2026 09:50
Show Gist options
  • Select an option

  • Save gema-arta/a5b8b2fbcecac6606421f66571ab5b9a to your computer and use it in GitHub Desktop.

Select an option

Save gema-arta/a5b8b2fbcecac6606421f66571ab5b9a to your computer and use it in GitHub Desktop.

Короткий и технически точный ответ: в чистом виде драйвера Windows, который бы позволял помечать физические «битые» (corrupted) блоки оперативной памяти и автоматически исключать их из использования системой, не существует. Такая функциональность ближе к уровню управления памятью ядра ОС и аппаратному обеспечению — Windows не предоставляет публичного интерфейса драйвера для прямого помечания/блокировки повреждённых страниц RAM. (Super User)

Почему такого драйвера нет

  • В Linux есть проект BadRAM/BadMem, который позволяет исключать из использования конкретные страницы RAM путём патча ядра — но для Windows аналогичной возможности нет, потому что ОС не позволяет драйверам вмешиваться в управление виртуальной/физической памятью на этом уровне. (Super User)
  • В Windows управление физической памятью строго контролируется ядром — даже драйверы в режиме ядра не могут гарантированно перехватить или переопределить стандартный менеджер памяти. (Super User)

Что существует в Windows вместо драйвера

Хотя специализированного драйвера нет, Windows имеет механизмы, которые частично решают схожие задачи:

1. «Blacklisting» плохих страниц через BCDEdit Windows (и сторонние инструменты тестирования, например MemTest86 Pro) могут формировать список плохих PFN (Page Frame Numbers — номера страниц физической памяти) и добавлять их в хранилище BCD, чтобы система не использовала эти страницы при загрузке. Команды (в командной строке с правами администратора):

bcdedit /set {badmemory} badmemoryaccess no  
bcdedit /set {badmemory} badmemorylist PFN1 PFN2 …

Чтобы посмотреть список:

bcdedit /enum {badmemory}

Этот механизм работает на уровне блокировки использования страниц, а не через драйвер. (memtest86.com)

2. WHEA (Windows Hardware Error Architecture) В Windows есть подсистема WHEA, которая фиксирует аппаратные ошибки памяти, регистрирует их как bad pages и может автоматически исключать их через системные механизмы. Но это не отдельный драйвер, а часть ОС/firmware совместно с ECC-памятью. (Microsoft Learn)

3. Диагностика и тесты памяти Встроенный инструмент Windows Memory Diagnostics помогает выявить ошибки RAM, но не помечает повреждённые области для последующей работы ОС — он только сообщает о проблемах. (Reddit)

Что можно использовать для обнаружения/анализa

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

  • Intel Inspector — анализ памяти и утечек в приложениях (не блочное исключение RAM, но помогает выявлять corruption) (Википедия)
  • Дебаггеры и анализ дампов (например, WinDbg с Debugging Tools for Windows) — для анализа BSOD связанных с памятью (FAULTY_HARDWARE_CORRUPTED_PAGE и пр.) (datadump.ru)

Если тебе нужно исключить повреждённую память из использования системой Windows, наиболее практичный способ сейчас — использовать MemTest86 для генерации списка PFN и затем настроить badmemorylist в BCD (что работает на уровне загрузчика, а не драйвера). Это не драйвер как таковой, но даёт эффект «пометки плохих блоков». (memtest86.com)

Если хочешь, могу объяснить пошагово, как сформировать и применить такой список PFN из отчёта MemTest86 — скажи модель Windows и версию.

Ниже — практическое руководство как понизить (строго вручную) тайминги оперативной памяти на настольной материнской плате ASRock (DDR4/DDR5). Предполагается, что цель — снизить CAS, tRCD, tRP и т.п. на “два пункта” в сравнении с текущими (например, с CL18 → CL16). (Reddit)


🛠️ Основные шаги: как настроить тайминги вручную

1) Войти в BIOS/UEFI

  1. Перезагрузите ПК.
  2. Нажимайте Delete или F2 (зависит от модели) сразу после включения, чтобы войти в BIOS.

2) Перейти в режим Advanced или OC Tweaker

На ASRock в большинстве версий UEFI это делается через:

  • Переключение в Advanced Mode (часто клавиша F6) — если BIOS стартует в «EZ-режиме»
  • Раздел OC Tweaker (или аналогичный) — отвечает за настройку разгона памяти/CPU. (forum.asrock.com)

3) Отключить автоматические профили

Если у вас включён XMP / EXPO:

  • Выключите их (или установите значение Manual), чтобы появилась возможность ручной настройки таймингов. (Reddit)

4) Найти DRAM Timing Control

Внутри OC Tweaker:

  • Ищите раздел DRAM Timing Control (также может называться Advanced DRAM Configuration или что-то похожее в ASRock).

  • Там будут поля типа:

    • CAS# Latency (CL)
    • tRCD
    • tRP
    • tRAS и другие вторичные тайминги. (Яндекс)

5) Снизить значения таймингов

Теперь вручную:

  • Найдите ваш текущий CL (например, CL18) и уменьшите на 2 — например, CL16.
  • Аналогично уменьшайте tRCD и tRP на 1–2 пункта (в зависимости от возможностей вашего комплекта и IMC CPU).
  • Помните: низкие тайминги = более жёсткие значения, но не все комплекты стабильно работают на таких. (Reddit)

Важно:

  • Часто для стабильности требуется увеличить напряжение DRAM/VDDQ немного выше — например, с 1.35 В до ~1.38–1.40 В (но осторожно — увеличивает тепловыделение и нагрузку CPU-IMC). (Reddit)
  • Изменив тайминги вручную, сохраните настройки (обычно F10) и перезапустите.

📈 Проверка стабильности

После изменения таймингов важно убедиться, что система работает корректно:

  1. Загрузитесь в Windows.
  2. Используйте CPU-Z для проверки реальных значений частоты и таймингов оперативной памяти.
  3. Запустите стресс/тесты памяти (например, MemTest86, HCI Memtest) — если будут ошибки, вернитесь в BIOS и слегка ослабьте тайминги или поднимите напряжение. (Reddit)

⚠️ Предупреждения

  • Слишком агрессивные тайминги могут привести к BSOD, зависаниям или отказу загрузки.
  • Не все модули памяти/платы одинаково хорошо поддаются ручной настройке.
  • Понижение таймингов без корректировки напряжения или частоты может ухудшить стабильность.

Если хочешь, могу дать пример конкретных значений таймингов для твоей памяти и процессора, но для этого скажи модель твоей ASRock-платы и характеристики RAM (частота, текущие тайминги по CPU-Z).

Вот список ссылок, которые относятся к теме ручной настройки/понижения таймингов оперативной памяти на материнских платах (включая ASRock) и работе с профилями памяти:

  1. https://www.reddit.com/r/ASRock/comments/11ykr8h/timings_on_new_ram_modules/ — обсуждение изменения CAS-латентности вручную в BIOS ASRock (Reddit) (Reddit)
  2. https://www.reddit.com/r/ASRock/comments/1jej6fi/cant_find_an_option_to_change_the_ram_frequency/ — обсуждение поиска опций DRAM/XMP в BIOS ASRock (Reddit) (Reddit)
  3. https://forums.tomshardware.com/threads/ram-cas-latency-question.3120049/ — пример обсуждения таймингов памяти в BIOS, в том числе как найти DRAM Timing Configuration (Tom’s Hardware) (Tom's Hardware Forum)
  4. https://www.reddit.com/r/ASRock/comments/fkkc8n/manually_setting_timings_for_ram/ — ещё одно обсуждение ручной установки таймингов RAM (Reddit) (Reddit)
  5. https://otvet.mail.ru/question/238157483 — общее руководство по выставлению таймингов оперативной памяти в BIOS (Mail.ru) (ОтветMail)
  6. https://forum.asrock.com/forum_posts.asp?TID=5869&title=memory-timings-advice — советы по настройке таймингов, включая XMP и ручные значения (ASRock форум) (forum.asrock.com)
  7. https://forum.asrock.com/forum_posts.asp?TID=7623&title=set-ram-to-3200mhz — пример, как найти DRAM Configuration и XMP-опции в BIOS ASRock (ASRock форум) (forum.asrock.com)
  8. https://yandex.ru/q/question/gde_v_biose_asrock_uefi_3_9_taimingi_fc343c96/ — русскоязычное обсуждение, где в BIOS находятся тайминги DRAM (Yandex Q&A) (Яндекс)

Хочешь, я подберу конкретные шаги/настройки для твоей модели платы (вместе с точными названиями опций в BIOS ASRock)? Тогда скажи модель платы и версию BIOS, если знаешь.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment