После многочисленных релизов «промежуточных» версий тестового пакета RMMA 3.4x, представляющих собой, главным образом, развитие компонента SysInfo в связи с выходом в свет новых моделей процессоров и чипсетов, наконец-то настала пора очередного «мажорного» релиза нашего универсального тестового пакета. Поводом для него явилась интеграция в состав пакета финальной версии отдельного подтеста, утилиты RightMark Memory Stability Test (сокращенно — RMMS), бета-версии которой уже давно использовались нами при тестировании модулей памяти ведущих производителей на предмет стабильности функционирования в ситуации «разгона по таймингам». Рассмотрению этой утилиты и посвящено настоящее описание. RightMark Memory Stability Test — тест стабильности функционирования подсистемы памяти
Вследствие принципиально иного подхода к тестированию подсистемы памяти на предмет стабильности ее функционирования, утилита RMMS входит в комплект новой версии тестового пакета RMMA 3.5 в виде отдельного, независимого приложения, не требующего наличия каких-либо остальных компонентов пакета RMMA (таких как SysInfo.dll). Главное отличие данного теста от многочисленных тестов, реализованных в самом RMMA, в том числе «старого» варианта RAM Stability Test, заключается в использовании максимально возможного объема доступной оперативной памяти, тогда как размер выделяемого блока памяти, используемого тестами RMMA, составляет всего 32 МБ (разумеется, пользователю ничего не мешает использовать другой размер блока памяти в RMMS — вплоть до 32 МБ, однако в этом случае эффективность нового теста может заметно снижаться).
Отметим, что настоящая утилита разрабатывалась со специальной целью — тестирования исправных модулей памяти на предмет стабильности функционирования исключительно при разгоне подсистемы памяти по частоте и/или по таймингам. Наши исследования показали, что данная утилита не обладает столь же высокой эффективностью в «профессиональных» тестах, т.е. для выявления наличия аппаратных дефектов в модулях памяти. Для данной цели мы рекомендуем использовать другие утилиты, в частности — бета-версию нашей собственной разработки RAMTester, доступной по адресу cpu.rightmark.org/download/mem20041217.rar.
Рассмотрим главное (и единственное) окно теста, открываемое при запуске приложения, точнее — назначение его составляющих.

Virtual Memory Map
В этой части окна отображается условная карта виртуальной памяти, соответствующей выделяемому блоку физической памяти. Полное количество ячеек поля равняется полному объему физической памяти, поделенному на масштаб ячейки (который указан в разделе Legend). Количество задействованных ячеек поля пропорционально размеру блока, выделенного в физической памяти для тестирования (по умолчанию — количеству свободной физической памяти).
Memory Status
Информация о состоянии физической памяти:
Total Physical — общее количество физической памяти, доступной для ОС;
Available Physical — количество физической памяти, доступное в настоящий момент для пользовательских приложений (к каковым, естественно, относится и RightMark Memory Stability Test).
Test Status
Информация о протекании теста:
Test No. — номер текущего теста, полное количество тестов;
Run No. — номер повторения текущего теста, общее количество повторений теста;
Patterns — используемые текущим тестом образцы сравнения данных, записанных в память и прочитанных из памяти;
Test Time — время исполнения текущего теста;
Total Time — общее время исполнения тестов;
Test Errors — количество ошибок, выявленных текущим тестом;
Total Errors — общее количество выявленных ошибок.
Test Settings
Настройки теста, которые, при необходимости, следует изменить перед запуском теста:
Memory (MB) — размер тестируемого блока памяти. Минимальный размер — 32 МБ, максимальный размер ограничен количеством доступной физической памяти (см. раздел Memory Status).
Stride Size — величина шага при обходе блока памяти. Минимальный размер соответствует натуральному размеру элемента (32-битный DWORD, т.е. 4 байта), максимальный — 8 МБ, шаг — логарифмический. Чем больше размер шага, тем меньше степень кэшируемости данных, что увеличивает время тестирования с одновременным повышением его надежности. Кэшируемость данных, содержащихся в памяти, становится близкой к нулю при задании размера Stride Size, превышающего размер сегмента кэша, который равен объему максимального уровня кэша, поделенному на степень его ассоциативности (например, 1024КБ / 8 = 128 КБ для L2-кэша процессора Intel Pentium 4 с ядром Prescott).
Test Patterns — тип используемых паттернов (образцов сравнения) памяти:
Normal — сплошная заливка выделенного блока памяти сначала прямым, затем — инверсным по отношению к нему паттерном;
Alternating — заливка выделенного блока памяти чередующимися прямым и инверсным паттернами.
Selected Tests — выбор используемых подтестов, фактически — используемых паттернов:
1-bit — 1-битовые паттерны (1 шт.)
2-bit — 2-битовые паттерны (1 шт.)
4-bit — 4-битовые паттерны (4 шт.)
8-bit — 8-битовые паттерны (8 шт.)
16-bit — 16-битовые паттерны (16 шт.)
32-bit — 32-битовые паттерны (32 шт.)
Legend
Условные обозначения на карте виртуальной памяти.
Unallocated — область памяти, недоступной для тестирования (т.е. занятой операционной системой и другими приложениями);
Untested — непротестированные участки памяти;
Test Running — ячейка памяти, проходящей тестирование в настоящий момент;
Partially Tested — частично протестированные ячейки памяти;
Test Successful — полностью протестированные ячейки памяти, в которых не обнаружено ошибок;
Test Failed — ячейки памяти (частично или полностью протестированные), в которых обнаружено одна или несколько ошибок;
Block Scale — масштаб одной ячейки карты памяти, в килобайтах.
Run Test
Кнопка запуска теста (в случае прохождения тестирования данная кнопка принимает вид Stop Test и позволяет прервать тестирование в любой момент).About...
Информация о программе и разработчиках.Exit
Выход из программы (с предварительной остановкой теста в случае протекания тестирования). Примерный вид теста в процессе его работы приведен на рисунке.

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