Я читал еще один вопрос о Memtest и начал задаваться вопросом: как Memtest86 работает с плохой RAM?
Подумайте об этом: Memtest86 должен хранить информацию о том, какой объем ОЗУ, что он поместил в ОЗУ для последующего сравнения, где обновлять экран и многое другое. Использование переменной требует, чтобы оперативная память функционировала должным образом. Но как вы можете получить надежные результаты, когда вы запускаете программу, возможно, с дефектом оперативной памяти?
Аналогия этому - запуск программы проверки жесткого диска с жесткого диска, который вы проверяете. Вы бы никогда этого не сделали, плохой блок может повлиять на программу многими неожиданными способами
Как Memtest86 работает с плохой оперативной памятью?
memtest86+
memtest
TheLQ
источник
источник
Ответы:
Главным образом потому, что количество оперативной памяти, которое требуется для загрузки memtest, чрезвычайно мало. Если программа запускается, вероятно, что память в этой области в порядке.
Вероятность того, что
Очень маловероятно.
источник
Memtest довольно долговечен в том смысле, что он не зависит от оперативной памяти, которую он тестирует.
Например, тест 0 использует алгоритм « ходячих» , и для этого теста требуется только один указатель (вероятно, кэшированный), поскольку он сравнивает только два последовательных адреса памяти.
Так что, если у нас есть 3-битная RAM-карта, memtest загружает ее так:
И если первый адрес поврежден, он будет сравнивать два случайных местоположения:
И все равно не получится, даже если переменные memtest повреждены.
источник
Memtest должна сделать хотя бы одно предположение, что хотя бы память, в которую она загружена, хороша. После этого он может сканировать и тестировать оставшуюся часть памяти полностью.
Может случиться так, что он все еще способен читать и обнаруживать ошибки в своей собственной памяти, поскольку, будучи единственной загруженной программой, он должен иметь доступ практически ко всей памяти в системе и, таким образом, иметь возможность считывать и сравнивать эту память с «известный хороший» образец.
источник
Будучи маленьким. Если какая-то память работает плохо, чем меньше программа, тем меньше вероятность того, что какая-то часть программы окажется в одной из проблем. Принимая во внимание, что загрузка достаточно далеко, чтобы загрузить тест памяти, будет включать в себя некоторый код прошивки с использованием ОЗУ, есть вероятность, что, если вы сможете пройти так далеко, низкие области ОЗУ будут работать достаточно хорошо, чтобы memtest смог запустить из них.
источник
Ну, это то, что делает Memtest - он записывает различные (известные) шаблоны в вашу RAM, считывает их обратно и сравнивает. Если есть несоответствие, ваша RAM должна быть повреждена.
Хотя это и правда, в некоторых случаях у вас нет выбора. Если вы можете успешно загрузить программу, она должна выполнять диагностические задачи (даже если она работает на каком-то неисправном носителе).
Ну, он должен сначала загрузить себя в память. В большинстве случаев эта память все равно будет хорошей. Если это не так , Memtest, скорее всего, определит, что сама программа повреждена, сравнив некоторые переменные на месте с контрольной суммой. В случае, если они не совпадают, вы мгновенно узнаете, что либо у вас ОЗУ плохое, либо загруженная копия повреждена (и было бы тривиальной задачей определить, является ли последняя причиной или нет).
TL, DR: Memtest86 + работает только при условии, что первый мегабайт вашей оперативной памяти все еще в порядке (место, где она будет загружена, скорее всего). Предполагая, что эта область повреждена, сам Memtest86 + просто не будет функционировать (что является довольно быстрым показателем того, что ваша ОЗУ плоха даже без запуска тестов).
источник
Если оперативная память, в которой приложение сохраняет переменные, плохая, то большинство тестов не пройдут.
Алгоритм записывает все виды различных шаблонов, а затем проверяет, хорошо ли они написаны, читая их снова, если запись или чтение не прошли правильно, это приведет к сбою рассматриваемого теста. Запустив большинство тестов и оставив их работать на несколько часов, вы сможете увидеть, насколько стабильна ваша RAM ...
источник