Это может быть из-за расположения, описанного в этой статье Википедии: молоток строки .
В динамическом ОЗУ (DRAM) каждый бит хранимых данных занимает отдельную ячейку памяти […]
Ячейки памяти (синие квадраты на иллюстрации) далее организованы в матрицы и адресованы через строки и столбцы. Адрес памяти, примененный к матрице, разбивается на адрес строки и адрес столбца, которые обрабатываются декодерами адреса строки и столбца (на иллюстрации - вертикальные и горизонтальные зеленые прямоугольники соответственно). После того, как адрес строки выбирает строку для операции чтения (выбор также известен как активация строки), биты из всех ячеек в строке передаются в усилители считывания, которые формируют буфер строки (красные квадраты на иллюстрации), из которого точный бит выбирается с использованием адреса столбца.
Источник изображения (общественное достояние)
Гипотеза: что-то не так с одним битом определенного буфера строк (красные квадраты); влияет на чтение любой строки, которой соответствует буфер. Я не утверждаю, что это будет происходить каждый раз, для каждой строки и любых записанных данных; тем не менее, я считаю, что эта матричная форма и буфер строк (или что-то подобное) как-то связаны с тем фактом, что это всегда последний бит первого байта, который не удался.
Во-вторых, memtest провалил только несколько тестов, в частности, тесты с 0 по 2 не прошли […]. Я удивлен, что первые несколько тестов никогда не приводили к ошибке. Есть причина почему?
Это руководство объясняет, что такое тесты:
- Тест 0 [Адресный тест, ходячие, без кеша]
Проверяет все биты адреса во всех банках памяти, используя шаблон адреса «ходящих».
- Тест 1 [Адресный тест, собственный адрес, последовательный]
Каждый адрес записывается со своим собственным адресом, а затем проверяется на согласованность. Теоретически предыдущие тесты должны были выявить проблемы с памятью. Этот тест должен отследить любые ошибки адресации, которые ранее не были обнаружены. Этот тест проводится последовательно с каждым доступным процессором.
- Тест 2 [Тест адреса, собственный адрес, Параллель]
То же, что и в тесте 1, но тестирование выполняется параллельно с использованием всех процессоров и с использованием перекрывающихся адресов.
Я понимаю, что тесты 0-2 предназначены для выявления ошибок адресации, а не фактических ошибок данных. Обратите внимание, что если бы они смогли отловить все ошибки, дальнейшее тестирование не потребовалось бы.