Если memtest выдает ошибки

 Нам необходимо записать утилиту Memtest86 на DVD диск либо флешку или создать загрузочную флешку, в состав которой входит данная программа. Читаем статью  “Как создать мультизагрузочную флешку“, следуем пошаговой инструкции. После того как создана загрузочная флешка производим загрузку с неё, обычно для этого я использую “горячие клавиши” F8, F12, F11, Esc+клавиша отвечающая за быструю загрузку, в зависимости от модели мат. платы на компьютере/ноутбуке. После загрузки видим окно:

Мультизагрузочная флешка

Заходим в дополнительные утилиты и выбираем Memtest86. Если все прошло успешно видим такую картинку:

memtest86

После запуска программа будет проверять вашу оперативную память бесконечно, пока вы её не остановите клавишей ESC. Проверять можно как все модули памяти сразу, так и по одной. Проверяя все модули памяти, программа не скажет на какой именно ошибки, так что если есть ошибки, проверяйте лучше по одному модулю. Для проверки лучше сделать несколько циклов. А для максимального эффекта, лучше поставить проверку на ночь . Поле Pass означает количество проделанных циклов. Если у вас будут ошибки в памяти (колонка Error), вы увидите следующее:

memtest_errors

Исправить оперативную память при наличии ошибок в программе невозможно. Это не как в жестком диске затереть битые сектора. Я рекомендую вот что:

Самое распространённое – это выход из строя модуля оперативной памяти. Тестируем по одному модулю. Сначала этот модуль ставим в слот под оперативную память №1.

Слот ОЗУ

Тестируем,смотрим результат. Если ошибки есть как показано на рис. выше (там где выделено красным в программе Memtest), то ставим этот модуль слот под оперативную память №2. Тестируем,смотрим результат. Если ничего не изменилось,то модуль неисправен и подлежит замене. Меняем или ставим другой модуль памяти,тестируем. Если модуль памяти исправен,по окончанию теста в видим следующее:

memtest86

Бывает что неисправен слот для оперативной памяти на мат. плате. В этом случае подключаем модуль в другой свободный слот, далее рассматриваем целесообразность работы компьютера в данной конфигурации с неисправным слотом под оперативную память, целесообразность замены материнской платы, а может вас и так всё устроит, и объёма памяти вам будет достаточно.

В программе — 9 тестов:     

Test 0 — [Address test, walking ones, no cache] – тестирования для выяснения проблем в адресе памяти.     

Test 1 — [Addresstest, ownaddress] – глубокий тест для выявления ошибок в адресационной прописки памяти     

Test 2 — [Movinginversions, ones&zeros] – проверка на трудноуловимые и аппаратные ошибки.    

Test 3 — [Movinginversions, 8 bitpat] – как и предыдущий тест, только в нем используется алгоритм в 8ми битном подходе от 0 до 1. Тестируется 20 различных методов.     

Test 4 — [Moving inversions, random pattern] – Выявление ошибок связанных с data sensitive. В этом тесте 60 различных методов.     

Test 5 — [Block move, 64 moves] – Поиск проблем в схемах оперативной памяти.

Test 6 — [Moving inversions, 32 bit pat] – Самый долгий тест для выявления  data sensitive errors.     

Test 7 — [Randomnumbersequence] – Проверка ошибок в записи памяти.     

Test 8 — [Modulo 20, ones&zeros] –  Выявление скрытых ошибок в оперативной памяти с помощью буферизации и кеша.     

Test 9 — [Bit fade test, 90 min, 2 patterns] – Тест может быть включен вручную. Он записывает адреса в памяти, после чего уходит в сон на 1.5 часа. После выхода из сна, сверяет биты в адресах, на схожесть. Клавишей C для ручного запуска. Тест требует около 3х часов времени.

Теперь вы увидели как проводится тестирование оперативной памяти, как восстановить её работоспособность самостоятельно и проверить с помощью программы  Memtest86 с приведенной инструкцией.

Привет!
Провёл тестирование MemTest86 V7.3 Free (64-bit).
Вроде есть какие-то ошибки в памяти (установлено 2 плашки по 8Гб):

Memory Range Tested 0x0 — 41F000000 (16880MB)
Lowest Error Address 0x241A3D470 (9242MB)
Highest Error Address 0x243A3DBD0 (9274MB)

Last 10 Errors
[Data Error] Test: 7, CPU: 2, Address: 243A3D230, Expected: 00100000, Actual: 00000000
[Data Error] Test: 6, CPU: 2, Address: 243A3D710, Expected: FFFBFFFF, Actual: FFEBFFFF
[Data Error] Test: 6, CPU: 2, Address: 241A3D730, Expected: FFFBFFFF, Actual: FFEBFFFF

Вопрос 1:
Правильно ли я понимаю, что судя по результатам, в одной из плашек есть проблемы?
А именно — битый участок размером 32Мб (с 9242MB по 9274MB).
В этом участке данные записываются/читаются некорректно.

Вопрос 2:
Обрабатывают ли операционки (Винда/Убунту) данную ситуацию как-нибудь? Или может нужно какую-нибудь прогу поставить, которая при загрузке сразу будет резервировать данный битый участок, и таким образом другие программы не смогут его использовать?

Вопрос 3:
Может я зря навожу панику? В гугле нашёл вон тему, где чувак пишет что в любой памяти ошибки. Если это так, то снова вопрос 2: Как операционки это обрабатывают?

Спасибо!

Test results / reports

  • Test result summary
  • HTML report file
  • Binary results file

Test result summary

At the end of the test, a summary of the test results is displayed, as shown in the following screenshot:

MemTest86 Test Summary

    Lowest Error Address:
        The lowest address that where an error has been reported.
    Highest Error Address:
        The highest address that where an error has been reported.
    Bits in Error Mask:
        A mask of all bits that have been in error (hexadecimal).
    Bits in Error:
        Total bit in error for all error instances and the min, max and average bit in error of each individual occurrence.
    Max Contiguous Errors:
        The maximum of contiguous addresses with errors.
    CPUs in Error:
        List of CPU cores that detected memory errors.
    ECC Correctable/Uncorrectable Errors:
        The number of errors that have been corrected/uncorrected by ECC hardware.
    Test Errors:
        On the right hand side of the screen the number of errors for each test are displayed.

HTML report file

The user may also save the results as an HTML test report to a file.
The test report appearance is fully customizable in the pro and site license version. Here is an example of an HTML test report

To save your the results as a HTML report, press ‘y’ to save when prompted. Note the file name the report will appear as, this will be saved to the USB you have booted from.

As seen in the following screenshot:

MemTest86 HTML Report

For Pro and Site editions, HTML report files can be automatically saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters.
See Configuring MemTest86 for more details about configuration file parameters.

When network booting from PXE (Site edition only), HTML reports are uploaded to the PXE server. This can be useful for automated workflows such as production line environments.

Binary results file

(Site and Pro editions only) For environments with limited storage space and processing capacity, the user may choose to save the results as a binary file.
The format of the binary file is as follows.


typedef struct _TESTRESULT {
CHAR8 Signature[4];// "MT86" signature
UINT16 Revision; // Current revision: 1.1 (Upper byte: major version; Lower byte: minor version)
UINT32 StartTime; //Start test time in Unix time, accurate to 1 sec
UINT32 ElapsedTime;//Test elapsed time in seconds
UINT64 RangeMin; //Min address tested
UINT64 RangeMax; //Max address tested
UINT16 CPUSelMode; //0-Single CPU, 1-Parallel, 2-Round Robin, 3-Sequential
INT16 CPUTempMin; //Min CPU temp for duration of test (-1 if N/A)
INT16 CPUTempMax; //Max CPU temp for duration of test (-1 if N/A)
INT16 CPUTempAve; //Ave CPU temp for duration of test (-1 if N/A)
INT16 RAMTempMin; //Min RAM temp for duration of test (-1 if N/A)
INT16 RAMTempMax; //Max RAM temp for duration of test (-1 if N/A)
INT16 RAMTempAve; //Ave RAM temp for duration of test (-1 if N/A)
BOOLEAN ECCSupport;//0 if ECC not supported, != 0 if ECC supported
INT8 TestResult; //0 if NumErrors>0, 1 if NumErrors==0, -1 if no tests were completed
UINT32 ErrorCode; // Error code
UINT32 NumErrors; //Number of errors from all tests. Must be 0 if Passed == True
UINT64 MinErrorAddr;//Lowest address that had an error
UINT64 MaxErrorAddr;//Highest address that had an error
UINT64 ErrorBits; //Bit coded field showing the bits in error
UINT32 NumCorrECCErrors;//Number of detected and corrected ECC errors from all tests.
UINT32 NumUncorrECCErrors;//Number of detected but uncorrected ECC errors from all tests.
UINT8 Reserved[14]; // For future use
UINT16 NumTestsEnabled;// Number of individual tests enabled
struct {
UINT8 TestNo; // Test ID number
UINT16 NumTestsPassed;// Number tests passed for this test number
UINT16 NumTestsCompleted;// Number tests completed for this test number
UINT32 NumErrors; // Number of errors detected for this test number
} AllTests[1]; // Variable-sized array of size=NumTestsEnabled
struct SLOTCHIP_ERRINFO {
UINT16 SlotChipErrsArrCount; // Size of variable-sized array SlotChipErrs below
struct {
INT8 Slot; // Slot number (-1 for unknown)
INT8 Chip; // Chip number (-1 for unknown)
UINT32 NumErrors; // Number of errors detected for this slot/chip combination
} SlotChipErrs[1];
} SlotChipErrInfo;
} TESTRESULT;

Binary result files cannot be saved manually and can only be saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters. See Configuring MemTest86 for more details about configuration file parameters.

As with HTML report files, binary results can be automatically saved to disk or uploaded to the PXE server, supporting automated workflows such as production line environments.

 ram


0

3

Други, добрый день

Подскажите, как такое возможно и что делать?

Есть машина с 64 ГБ оперативки, 4×16Гб (заняты все 4 слота)

Запустил тест памяти memtest86 и по ходу теста посыпались ошибки.

Ок, протестировал каждую планку поотдельности (каждую в своем слоте), думал найду битую. Хрена с два! Все планки проходят тесты по отдельности.

Поставил их снова в комп все 4, но уже в другие слоты. Опять лезут ошибки.

Что посоветуете?

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

Gorvasrad

Member

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

Вкладення
Зобр027.jpg

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

20.09.2011 16:56

Gorvasrad
Значит что оперативная память работает с ошибками
А что за память купил ?

Gorvasrad

Member

Повідомлення

20.09.2011 17:12

ddr2 GSkill 2×2 gb 1200 Mhz rapjaws. В чем эти ошибки могут выражаться?

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

20.09.2011 17:19

Gorvasrad
BSOD и глюки программ

Добавлено через 1 минуту 25 секунд:
поставь напряжение которое пишется на памяти вручную.

Добавлено через 1 минуту 20 секунд:
Поставь на модулях памяти в биосе напряжение 2.0 вольта

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

20.09.2011 17:21

так и знал, что с той оперативой какая то незадача, он и проц подстрелянный продавал… хороший продавец, ёптег :lamer:

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

20.09.2011 17:32

Gagarin-ace

так и знал, что с той оперативой какая то незадача, он и проц подстрелянный продавал… хороший продавец, ёптег :lamer:

Не понял объясни ?

Gorvasrad

Member

Повідомлення

20.09.2011 18:04

gagarin-ace
процессор купили Вы?

Добавлено через 7 минут 22 секунды:
Денис97
Напряжемие поставил. Ошибки все равно есть.

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

20.09.2011 18:28

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

не надо ко мне на ВЫ, я не на работе :beer:

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

20.09.2011 19:03

Gorvasrad
Или память у вас битая скорее всего но ради эксперимента поставьте повыше немного напряжение на серверный мост.
Если не поможет то память в топку :rotate:

yupi

Member

Аватар користувача

Повідомлення

20.09.2011 19:54

проверить на другой платформе, если и там ошибки, то вернуть продавцу. если он в отказ, то в ненадежные :mad:

Gorvasrad

Member

Повідомлення

20.09.2011 19:55

Предидущий владелец написал, что память у него работала на 1.84 В. Я поставил и в memtеst ошибки исчезли. Можно ли считать, что память дальше будет работать стабильно, или все таки вернуть ее. Кстати владелец согласен взять ее обратно.

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

20.09.2011 19:57

на каких таймингах и частотах она работает ? если по максимуму выжать ?

Thunder7

Member

Аватар користувача

Звідки: Kiev

Повідомлення

21.09.2011 09:14

Gorvasrad:Купил оперативную память. Проверил в memtest. Подскажите пожалуйста, что означают эти ошибки?

значат что битая

Stanley

Member

Аватар користувача

Звідки: Одесса

Повідомлення

21.09.2011 10:09

на скрине видно что частота памяти — 1066Мгц, так что формально для неё это разгон и на стандартном напряжении она не обязана работать в таком режиме
если бы память выдавала ошибки в режиме 800Мгц CL5 1.8В, тогда можно было бы говорить, что она битая

Gorvasrad

Member

Повідомлення

21.09.2011 15:45

Gagarin-ace:на каких таймингах и частотах она работает ? если по максимуму выжать ?

я проверил ее на частотах 1066, 1111, 1167 и 1200 с таймингами 6-6-6-18 и 5-7-7-20. Напр. 1.84 в. Ошибок нет. Оставлять или отправлять обратно?

Gorvasrad

Member

Повідомлення

21.09.2011 16:11

А что же тогда это было? Перенапряжение? Или глюки с материнкой?

Crong

Member

Повідомлення

21.09.2011 16:13

Gorvasrad
На каком напряжении вы проводили тест который на скрине? Для работы на повышенных частотах ей нужно 1.9~2.0 Volts, если она нормально работает на 1200 с таймингами 6-6-6-18 при 1,84в, то это нормально.

DEVES

Member

Аватар користувача

Звідки: Україна

Повідомлення

21.09.2011 16:23

Crong +1
Перед тем, как представлять претензии продавцу, следует провертить память на рекомендуемых производителем настройках.

Specification
Main Board intel
System Desktop
System Type DDR2
M/B Chipset Intel P45
CAS_Latency 6-6-6-18-2N
Capacity 4GB (2GBx2)
Speed DDR2-1200 (PC2 9600)
Test_Voltage 1.9~2.0 Volts

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

Настройки разгона компьютера или BIOS

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

Если в вашей настройке BIOS предусмотрены настройки времени памяти или настройки CAS, и вы получаете ошибки памяти, убедитесь, что для этих настроек также установлены самые низкие значения.

Несовместимость

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

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

Компьютер перегревается

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

Временно удалите другое оборудование

Чтобы исключить возможность использования другим оборудованием компьютера проблем с памятью, удалите все оборудование, которое не требуется для запуска теста. В том числе: внешние накопители, USB-устройства, карты расширения, жесткий диск и т. Д. После того, как они были удалены, повторно запустите тест, чтобы определить, являются ли они причиной ошибок памяти.

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

Обмен или изменение памяти

Если у вас есть другой компьютер с совместимой памятью, замените заведомо исправную память на компьютер и перезапустите memtest. Если другая память проходит тест, это хороший признак того, что ваша память плохая.

Плохая материнская плата, процессор, блок питания или другое оборудование

Наконец, если все вышеперечисленные действия были предприняты и у вас по-прежнему возникают проблемы, вероятно, на вашем компьютере имеется неисправное оборудование, вызывающее проблемы с памятью. Другие идеи о плохом оборудовании включают материнскую плату, процессор или блок питания.

 ram


0

3

Други, добрый день

Подскажите, как такое возможно и что делать?

Есть машина с 64 ГБ оперативки, 4×16Гб (заняты все 4 слота)

Запустил тест памяти memtest86 и по ходу теста посыпались ошибки.

Ок, протестировал каждую планку поотдельности (каждую в своем слоте), думал найду битую. Хрена с два! Все планки проходят тесты по отдельности.

Поставил их снова в комп все 4, но уже в другие слоты. Опять лезут ошибки.

Что посоветуете?

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

Gorvasrad

Member

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

Вкладення
Зобр027.jpg

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

Gorvasrad
Значит что оперативная память работает с ошибками
А что за память купил ?

Gorvasrad

Member

Повідомлення

ddr2 GSkill 2×2 gb 1200 Mhz rapjaws. В чем эти ошибки могут выражаться?

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

Gorvasrad
BSOD и глюки программ

Добавлено через 1 минуту 25 секунд:
поставь напряжение которое пишется на памяти вручную.

Добавлено через 1 минуту 20 секунд:
Поставь на модулях памяти в биосе напряжение 2.0 вольта

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

так и знал, что с той оперативой какая то незадача, он и проц подстрелянный продавал… хороший продавец, ёптег :lamer:

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

Gagarin-ace

так и знал, что с той оперативой какая то незадача, он и проц подстрелянный продавал… хороший продавец, ёптег :lamer:

Не понял объясни ?

Gorvasrad

Member

Повідомлення

gagarin-ace
процессор купили Вы?

Добавлено через 7 минут 22 секунды:
Денис97
Напряжемие поставил. Ошибки все равно есть.

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

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

не надо ко мне на ВЫ, я не на работе :beer:

Шаженла

Member

Аватар користувача

Звідки: Харьков

Повідомлення

Gorvasrad
Или память у вас битая скорее всего но ради эксперимента поставьте повыше немного напряжение на серверный мост.
Если не поможет то память в топку :rotate:

yupi

Member

Аватар користувача

Повідомлення

проверить на другой платформе, если и там ошибки, то вернуть продавцу. если он в отказ, то в ненадежные :mad:

Gorvasrad

Member

Повідомлення

Предидущий владелец написал, что память у него работала на 1.84 В. Я поставил и в memtеst ошибки исчезли. Можно ли считать, что память дальше будет работать стабильно, или все таки вернуть ее. Кстати владелец согласен взять ее обратно.

Gagarin-ace

Member

Аватар користувача

Звідки: Кропивницкий

Повідомлення

на каких таймингах и частотах она работает ? если по максимуму выжать ?

Thunder7

Member

Аватар користувача

Звідки: Kiev

Повідомлення

Gorvasrad:Купил оперативную память. Проверил в memtest. Подскажите пожалуйста, что означают эти ошибки?

значат что битая

Stanley

Member

Аватар користувача

Звідки: Одеса

Повідомлення

на скрине видно что частота памяти — 1066Мгц, так что формально для неё это разгон и на стандартном напряжении она не обязана работать в таком режиме
если бы память выдавала ошибки в режиме 800Мгц CL5 1.8В, тогда можно было бы говорить, что она битая

Gorvasrad

Member

Повідомлення

Gagarin-ace:на каких таймингах и частотах она работает ? если по максимуму выжать ?

я проверил ее на частотах 1066, 1111, 1167 и 1200 с таймингами 6-6-6-18 и 5-7-7-20. Напр. 1.84 в. Ошибок нет. Оставлять или отправлять обратно?

Gorvasrad

Member

Повідомлення

А что же тогда это было? Перенапряжение? Или глюки с материнкой?

Crong

Member

Повідомлення

Gorvasrad
На каком напряжении вы проводили тест который на скрине? Для работы на повышенных частотах ей нужно 1.9~2.0 Volts, если она нормально работает на 1200 с таймингами 6-6-6-18 при 1,84в, то это нормально.

DEVES

Member

Аватар користувача

Звідки: Україна

Повідомлення

Crong +1
Перед тем, как представлять претензии продавцу, следует провертить память на рекомендуемых производителем настройках.

Specification
Main Board intel
System Desktop
System Type DDR2
M/B Chipset Intel P45
CAS_Latency 6-6-6-18-2N
Capacity 4GB (2GBx2)
Speed DDR2-1200 (PC2 9600)
Test_Voltage 1.9~2.0 Volts

Troubleshooting Memory Errors

  • MemTest86 detected errors in my memory. Is there something wrong with my RAM?
    • Why am I only getting errors during Test 13 Hammer Test?
    • Why do I get errors only when testing RAM modules together, and not when individually tested?
  • MemTest86 reported the memory address of the failure. What does this mean?
    • How does MemTest86 report ECC errors?
    • If I know the address decoding scheme, can I configure MemTest86 to report the failing module?
  • How do I know which RAM module is failing?
  • How do I fix the memory errors?

Below is a video overview on how to troubleshoot bad RAM with MemTest86.

Download

Right-click to download, MP4 format, 9MB

MemTest86 detected errors in my memory. Is there something wrong with my
RAM?

Please be aware that not all errors reported by MemTest86 are due to bad memory. The
test implicitly tests the CPU, L1 and L2 caches as well as
the motherboard. It is impossible for the test to determine what causes the failure to
occur. However, most failures will be due to a problem
with memory module. When it is not, the only option is to replace parts until the
failure is corrected.

Sometimes memory errors show up due to component incompatibility. A memory module may
work fine in one system and not in another.
This is not uncommon and is a source of confusion. In these situations the components
are not necessarily bad but have marginal
conditions that when combined with other components will cause errors.

Often the memory works in a different system or the vendor insists that it is good. In
these cases the memory is not necessarily bad
but is not able to operate reliably at full speed. Sometimes more conservative memory
timings on the motherboard will correct these errors.
In other cases the only option is to replace the memory with better quality, higher
speed memory. Don’t buy cheap memory and expect it to work
reliably. On occasion «block move» test errors will occur even with name brand memory
and a quality motherboard. These errors are legitimate and
should be corrected.

All valid memory errors should be corrected. It is possible that a particular error will
never show up in normal operation. However, operating
with marginal memory is risky and can result in data loss and even disk corruption. Even
if there is no overt indication of problems you cannot
assume that your system is unaffected. Sometimes intermittent errors can cause problems
that do not show up for a long time. You can be sure that
Murphy will get you if you know about a memory error and ignore it.

We are often asked about the reliability of errors reported by MemTest86. In the vast
majority of cases errors reported by the test are valid.
There are some systems that cause MemTest86 to be confused about the size of memory and
it will try to test non-existent memory. This will cause a
large number of consecutive addresses to be reported as bad and generally there will be
many bits in error. If you have a relatively small number
of failing addresses and only one or two bits in error you can be certain that the
errors are valid. Also intermittent errors are without exception
valid. Frequently memory vendors question if MemTest86 supports their particular memory
type or a chipset. MemTest86 is designed to work with all
memory types and all chipsets.

MemTest86 cannot diagnose many types of PC failures. For example a faulty CPU that causes
Windows to crash will most likely just cause MemTest86 to crash in the same way.

Why am I only getting errors during Test 13 Hammer Test?

The Hammer Test is designed to detect RAM modules that are susceptible to disturbance
errors caused by charge leakage. This phenomenon is characterized
in the research paper
Flipping Bits in Memory
Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
by
Yoongu Kim et al.
According to the research, a significant number of RAM modules manufactured 2010 or
newer are affected by this defect. In simple terms, susceptible RAM modules can be
subjected to disturbance errors
when repeatedly accessing addresses in the same memory bank but different rows in a
short period of time. Errors occur when the repeated access causes charge loss in a
memory cell, before the cell contents
can be refreshed at the next DRAM refresh interval.

Starting from MemTest86 v6.2, the user may see a warning indicating that the RAM may be
vulnerable to high frequency row hammer bit flips.
This warning appears when errors are detected during the first pass (maximum hammer
rate) but no errors are detected during the second pass (lower hammer rate).
See MemTest86 Test Algorithms for a description of
the two passes that are performed during the Hammer Test (Test 13).
When performing the second pass, address pairs are hammered only at the rate deemed as
the maximum allowable by memory vendors (200K accesses per 64ms).
Once this rate is exceeded, the integrity of memory contents may no longer be
guaranteed. If errors are detected in both passes, errors are reported as normal.

The errors detected during Test 13, albeit exposed only in extreme memory access cases,
are most certainly real errors. During typical home PC usage (eg. web browsing, word
processing, etc.),
it is less likely that the memory usage pattern will fall into the extreme case that
make it vulnerable to disturbance errors. It may be of greater concern if you were
running highly sensitive equipment
such as medical equipment, aircraft control systems, or bank database servers. It is
impossible to predict with any accuracy if these errors will occur in real life
applications. One would need
to do a major scientific study of 1000 of computers and their usage patterns, then do a
forensic analysis of each application to study how it makes use of the RAM while it
executes. To date, we have only
seen 1-bit errors as a result of running the Hammer Test.

There are several actions that can be taken when you discover that your RAM modules are
vulnerable to disturbance errors:

  • Do nothing
  • Replace the RAM modules
  • Use RAM modules with error-checking capabilities (eg. ECC)

Depending on your willingness to live with the possibility of these errors manifesting
itself as real problems,
you may choose to do nothing and accept the risk. For home use you may be willing to
live with the errors. In our experience, we have several machines that have been stable
for home/office use despite experiencing errors in the Hammer Test.

You may also choose to replace the RAM with modules that have been known to pass the
Hammer Test. Choose RAM modules of different brand/model as it is likely that the RAM
modules with the same model would still fail the Hammer test.

For sensitive equipment requiring high availability/reliability, you would replace the
RAM without question and would probably switch to RAM with error correction such as ECC
RAM. Even a 1-bit error can result in catastrophic consequences for say,
a bank account balance. Note that not all motherboards support ECC memory, so consult
the motherboard specifications before purchasing ECC RAM.

Detection and mitigation of row hammer errors

The ability of MemTest86 to detect and report on row hammer errors depends on several
factors and what mitigations are in place. To generate errors adjacent memory
rows must be repeatedly accessed. But hardware features such as multiple channels,
interleaving, scrambling,
Channel Hashing, NUMA & XOR schemes make it nearly impossible (for an arbitrary CPU &
RAM stick) to know which memory addresses correspond to which rows in the RAM.
Various mitigations might also be in place. Different BIOS firmware might set the
refresh interval to different values (tREFI). The shorter the interval the more
resistant the RAM will be to errors.
But shorter intervals result in higher power consumption and increased processing
overhead. Some CPUs also support pseudo target row refresh (pTRR) that can be used in
combination with pTRR-compliant RAM.
This field allows the RAM stick to indicate the MAC (Maximum Active Count) level which
is the RAM can support. A typical value might be 200,000 row activations.
Some CPUs also support the Joint Electron Design Engineering Council (JEDEC) Targeted
Row Refresh (TRR) algorithm. The TRR is an improved version of the previously
implemented
pTRR algorithm and does not inflict any performance drop or additional power usage.
As a result the row hammer test implemented in MemTest86 maybe not be the worst case
possible and vulnerabilities in the underlying RAM might be undetectable due to the
mitigations in
place in the BIOS and CPU.


Why do I get errors only when testing RAM modules together, and not
when individually tested?

Most memory systems nowadays operate in multiple channel mode in order to increase the
transfer rate between the RAM modules and the memory
controller. It is recommended that modules with identical specifications (ie. «matching
modules») when running in multi-channel mode. Some motherboards
also have compatibility issues with certain brand/models of RAM when running in
multi-channel mode.

When you see errors while running MemTest86 with multiple RAM modules installed, but not
when they are tested individually, it is likely that the multi-channel
configuration is the culprit. This could be due to mismatched RAM specifications, or
simply using brands/models of RAM that is incompatible with the motherboard.
Most motherboard vendors release a list of known compatible RAM models that have been
tested to work with your motherboard. Replace the modules with a matching set of
known good ones and see if you get better results.

MemTest86 reported the memory address of the failure. What does this
mean?

When MemTest86 detects errors during the memory tests, the memory address, actual and
expected data are reported to the user. The memory address is the location in system
memory where the data contained does not match what was expected.
This is the address that is specified by the CPU to the memory controller when
requesting data from DRAM. The memory controller then decodes this memory address to
identify the specific channel, DIMM, rank, DRAM chip, bank, row and column in DRAM using
a chipset-specific address decoding scheme.

The address decoding scheme is the process used by the memory controller to generate the
appropriate address signals to the DRAM chip. Depending on the memory controller, this
process can get fairly complex as it is not simply a a direct mapping of the system
address bits to the DRAM address bits. In order to increase
the memory performance, strategies such as channel interleaving (for Dual, Tri and Quad
channel setups), rank/bank/row interleaving, and address swizzling are used to increase
the concurrency of memory accesses. For some chipsets such as AMD, the address decoding
scheme can be configured/determined via PCI registers as
described in the chipset specifications. For other chipsets (eg. Intel), however, the
address decoding scheme is proprietary and not made available to the public. This makes
identifying the DRAM address and correspondingly, the failing module, much more
difficult. For that reason, MemTest86 only has the capability to report DRAM addresses
for supported hardware configurations.

How does MemTest86 report ECC errors?

Refer to ECC Technical Information for ECC reporting in MemTest86 and other ECC technical details.


If I know the address decoding scheme, can I configure MemTest86 to
report the failing module?

For systems where the address decoding scheme is known, MemTest86 provides several configuration file parameters to aid users in
determining the faulty module that corresponds to the memory address:

  ADDR2CHBITS=12,9,7
  ADDR2SLBITS=3,4
  ADDR2CSBITS=8

For each of these 3 parameters, a list of bit positions can be used to specify which
address bits of a memory address to exclusive-or (XOR) in order to determine the
corresponding [memory channel|slot|chip select (CS)] (0 or 1) of the failing module.
This is only useful if you know that the memory controller maps a particular address to
a [memory channel|slot|chip select (CS)] using this XOR-based decoding scheme. If these
parameters are specified and MemTest86 detects a memory error, the [memory
channel|slot|chip select (CS)] will be calculated and displayed along with the faulting
address.

How do I know which RAM module is failing?

Once a memory error has been detected, determining the failing SIMM/DIMM module is not a
clear cut procedure. Different CPUs map memory addresses
to physical memory sticks in different ways. Features like dual channel RAM (with
interleaving), channel hashing and NUMA make the mapping of addresses
to modules, banks & rows very difficult. Due to the large number of CPUs and motherboard
vendors and potential combinations of memory slots we do not have a general solution, though in some cases limited decode is possible. However, there are
steps that may be taken to determine the failing module. Here are some techniques that
you may wish to use:

  1. Removing modules

    This is simplest method for isolating a failing modules, but may only be
    employed when one or more modules can be removed from the system. By
    selectively removing modules from the system and then running the test you will
    be able to find the bad modules.
    Be sure to note exactly which modules are in the system when the test passes and
    when the test fails.

  2. Rotating modules

    When none of the modules can be removed then you may wish to rotate modules to
    find the failing one. This technique can only be used if there
    are three or more modules in the system. Change the location of two modules at a
    time. For example put the module from slot 1 into slot 2
    and put the module from slot 2 in slot 1. Run the test and if either the failing
    bit or address changes then you know that the failing module
    is one of the ones just moved. By using several combinations of module movement
    you should be able to determine which module is failing.

  3. Replacing modules

    If you are unable to use either of the previous techniques then you are left to
    selective replacement of modules to find the failure.

How do I fix the memory errors?

Depending on what is causing the memory errors, you can try the following options:

  • Replace the RAM modules (most common solution)
  • Set default or conservative RAM timings
  • Increase the RAM voltage levels
  • Decrease the CPU voltage levels
  • Apply BIOS update to fix incompatibility issues
  • Flag the address ranges as ‘bad’

Once you have determined with certainty which RAM module(s) have failed, replacing them
with a new set of RAM modules usually fixes the errors. When choosing
which modules to use as a replacement, consider using one that is listed as compatible
by the motherboard vendor as it would have been verified by the vendor
itself.

Sometimes, memory errors only manifest themselves when RAM timings are set too
aggressively in the BIOS (eg. overclocking). For certain modules that support
higher performance XMP timings, consider using standard, non-XMP timings to see if you
get better results. Consult your motherboard manual on how to set or
reset your RAM timings to default settings.

For certain configurations (especially when using aggressive RAM timings), higher
voltage may be required in order to operate the RAM in stable conditions.
If you are using non-standard RAM timings, slightly increasing the voltage (eg. from
1.5V to 1.55V) may increase the stability. Increase the voltage at your
own risk as excessive voltage may damage the components of your system

A higher CPU voltage may cause overheating, resulting in memory errors that lead to system hangs/crashes.
Check with the motherboard vendor for instructions on configuring CPU voltage levels.

In certain cases, RAM incompability issues can be fixed with a BIOS update. Check the
motherboard vendor for updated BIOS with RAM compaibiliy fixes.

Several operating systems allow the user to pass in a list of ‘bad’ memory ranges to
prevent the operating system to use or allocate memory in that range.
See Blacklisting RAM Pages for more details.

Понравилась статья? Поделить с друзьями:
  • Есиа ошибка не установлен плагин
  • Ей было все равно на это где ошибка
  • Ерс на поло ошибка что она означает
  • Екатерина была поставлена на престол какая лексическая ошибка
  • Есет ошибка активации