Memtest86+ 9.0: диагностика памяти выходит на ARM и учится ловить RowHammer
Проект Memtest86+ выпустил крупное обновление своей утилиты для низкоуровневой проверки оперативной памяти. Версия 9.0 работает напрямую из прошивки BIOS или UEFI, не требуя загрузки операционной системы, и позволяет составить карту сбойных участков. Эту карту впоследствии можно передать ядру Linux через опцию memmap, чтобы исключить проблемные области из использования.
Главное архитектурное изменение — долгожданная поддержка платформы AArch64, то есть 64-битных ARM-процессоров. Разработчики подтвердили работоспособность на одноплатных компьютерах Raspberry Pi 4 и 5, а также на устройствах с чипом Snapdragon X. Это заметно расширяет круг оборудования, которое можно проверить без запуска полноценной ОС.
В новой версии появилась практичная функция сохранения отчёта о тестировании на внешний USB-накопитель, отформатированный в FAT32. Теперь результаты проверки не пропадут после перезагрузки, что упрощает документирование неисправностей при диагностике. Набор тестов был полностью переработан с упором на скорость обнаружения первой ошибки.
В него включены оптимизации, позволяющие быстрее находить нестабильные ячейки памяти. Добавлены испытания, использующие 128- и 256-разрядные векторные SIMD-инструкции, включая SSE2, AVX2, NEON и LASX, что создаёт более интенсивную и разнообразную нагрузку на подсистему памяти. Отдельного внимания заслуживает новый стресс-тест шины, ориентированный на особенности памяти стандарта DDR5.
Он призван выявлять проблемы, характерные для новейшего поколения модулей, работающих на более высоких частотах и с иной архитектурой передачи данных. Версия 9.0 впервые включает опциональный тест для проверки подверженности памяти атаке RowHammer. Этот тип уязвимости позволяет искажать содержимое битов в DRAM путём многократного чтения данных из физически соседних ячеек.
Пользователь теперь может оценить, насколько его модули устойчивы к такому воздействию. Ещё одно новшество — тест для выявления повреждений в данных SPD, микросхеме на модуле памяти, которая хранит информацию о его характеристиках и таймингах. Повреждение SPD может приводить к некорректной настройке памяти системой и нестабильной работе.
Разработчики расширили базу идентификации компонентов: программа теперь распознаёт более ста новых наименований микросхем DRAM. Выводимая сводка о памяти стала более детальной, что помогает точнее идентифицировать установленное оборудование. В список совместимых платформ добавлена будущая архитектура Intel Wildcat Lake.
Кроме того, сборки Memtest86+ теперь заверены собственной цифровой подписью проекта, что позволяет запускать их в системах с активным режимом Secure Boot. В перспективе ожидается получение подписи от Microsoft для ещё более широкой совместимости. Код проекта по-прежнему распространяется под свободной лицензией GPLv2, что позволяет сообществу независимо проверять и дорабатывать инструмент, от которого напрямую зависит стабильность работы серверов и пользовательских машин.