Перейти к содержанию
    

Некромантия (восстановление DDR2 памяти)

Досталось штук 20 битых модулей DDR2 памяти. Битая не совсем, т.е. комп с ними стартует, но MemTest86 вылетает с ошибкой (unexpected interrupt) в самом начале теста. На живой памяти тест проходит.

Смею предположить, что на каждой из плашек выбита какая-то одна микросхема и какое-то количество можно оживить, заменяя битые на исправные с других плашек (оборудование для перепайки доступно, микросхемы на плашках одинаковые). В задачнике спрашивается - как определить, какую именно микросхему надо менять? Боюсь, что поиск методом Монте Карло (научного тыка) будет малоэффективен. Есть ли какой-то алгоритм, позволяющий найти битые чипы минимальным количеством перепаек, исходя из того, что на каждой плашке по 8 микросхем и считаем, что битая из них только одна?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может для начала определить по маркировки точное наименование микросхемы, затем скачать даташит выставить правильные тайминги?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я делал так:

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

грузился с CD-ROM и с сд-диска запускал программу теста памяти(возможно туже что и вы).

программа на тестах запись-чтение четко показывала в каких битах постоянные ошибки.

планки 64бит -> 8бит на микросхему. стоят они по порядку. младший бит со стороны первого контакта.

попадалось что неисправны были не микросхемы а резисторы которые стоят по шине данных.

удачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, где-то читал что толи Knoppix, то ли еще какой дистрибутив работает с такими планками на ура)))...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извиняюсь, памяти DDR, а как менять название темы я что-то не нашел. Но думаю это не сильно меняет расклад.

 

Спасибо всем откликнувшемся.

в первый слот вставлял заведомо рабочую планку, а во второй неисправную.
О! А я чего-то только одну планку вставлял. Мысль о том, что неизвестно, какой из слотов попадает в младшие адреса и неизвестно, куда попадет программа поставили меня в тупик. После вашего сообщения понял, что вариантов всего два, можно и метод Монте-Карло применить.

планки 64бит -> 8бит на микросхему. стоят они по порядку. младший бит со стороны первого контакта.
Спасибо! В понедельник попробую.
попадалось что неисправны были не микросхемы а резисторы которые стоят по шине данных.
Резисторы прозвонил. Они сделаны напылением прямо на плате. Звонятся все. В понедельник буду пробовать с живой планкой в первом слоте. Отпишусь

может для начала определить по маркировки точное наименование микросхемы, затем скачать даташит выставить правильные тайминги?
Я полагаю, что тайминки берутся из eeprom на самой плашке и производитель туда записал самые лучшие значения. Или есть какая-то веская причина выставлять тайминги вручную? Если проверка по методу, предложенному TinyQ покажет "плавающие" ошибки, можно будет считать и сравнить eeprom на разных плашках. Не исключаю их слета, но для чтения надо будет выпаивать слот из дохлой материнки, писать на меге программатор 24L02 или паять железо для чего-то типа лошади... хотелось бы по возможности этого избежать.

Кстати, где-то читал что толи Knoppix, то ли еще какой дистрибутив работает с такими планками на ура)))...
Мм... пожалуй, если вопрос встанет так, я лучше куплю новую память :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

планки 64бит -> 8бит на микросхему. стоят они по порядку. младший бит со стороны первого контакта.
Это далеко не всегда так, бывают и 16бит микросхемы и даже 32, порядок бывает

тоже очень разным, иногда даже чередуется первая и вторая стороны дима,

иногда на дешевых модулях используют половинки микросхем причем как по размеру так и по

разрядности(типа половина битая половина целая).

 

В тяжелых случаях действительно нужно вставлять вторым димом.

Какой порядок слотов можно определить по таблице диагностики биоса.

 

2 Сергей Борщ напишите точное название чипов, размер модуля Мб, ....

А лучше сфоткайте модуль с двух сторон с высоким разрешением и приатачте здесь или в PM

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

 

Я просто в свое время занимался ремонтом памяти в промышленных масштабах... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, где-то читал что толи Knoppix, то ли еще какой дистрибутив работает с такими планками на ура)))...

 

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

Читать здесь:

http://rick.vanrein.org/linux/badram/

http://fgouget.free.fr/misc/badram.shtml

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Elixir_DDR1_256Mb_Die_B_Draco_UDIMM_R2.2.pdf

 

Когда я этим занимался, то руководствовался этим PDF.

Других планок не попадалось, так что спорить не буду.

У меня тоже были DDR, а DDR2 по идее не сильно отличается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда я этим занимался, то руководствовался этим PDF.
Дык в приатаченном Вами pdf черным по монитору написанно:

Unbuffered DDR DIMM based on 256M bit die B device,

organized as either 32Mbx8 or 16Mbx16

...............................

M2U51264DS8HB3G is 512MB modules organized as dual ranks using sixteen 32Mx8

TSOP devices. M2U25664DS88B3G is 256MB modules organized as single rank using eight 32Mx8 TSOP devices. M2U12864DSH4B3G

is 128MB modules, organized as single rank using four 16Mx16 TSOP devices.

 

Но документик кстати зачетный, я брал даташиты от Micron и Samsung, там

описание хуже и приходилось инфу собирать из разных даташитов.

 

А вариантов разводки дима на самом деле очень много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Сергей Борщ напишите точное название чипов, размер модуля Мб, ....

А лучше сфоткайте модуль с двух сторон с высоким разрешением и приатачте здесь или в PM

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

Докладываю о проделанной работе.

1) Фотки двух типов модулей сделал, прилагаю.

2) Все модули пропустил через конвекционную печку. При этом на части модулей наклейка съежилась и утянула микросхемы с мест. "- Болван! -Согласен "(с) Операция "Ы". Поставить их на место не проблема, если будет результат с неповрежденными модулями.

3) Десяток неповредившихся модулей попытался проверить.

Результ: два живы (можно использовать как доноры заведомо исправных микросхем).

Один модуль не дает компу даже включить мониотор.

Один модуль (на картинке DDR_1.jpg) выдал ошибку в тесте №1 (Address test, own test), при этом bit pattern был 00100000. Переставил на него третью справа микросхему с живого - результат не изменился.

Остальные модули, даже в паре с живой памятью в младших адресах, выдают в течении секунды-двух какие-то ошибки в тесте №2 (moving inversion), после чего на pattern 00000000 происходит Unexpected interrupt и на экран выводится содержимое регистров процесcора (всегда одинаковое насколько запомнил ключевые регистры, PC=003C1A). Успевал заметить, что для одного модуля пишется error pattern 033DFF40, для некоторых 0xFFFFFFFF. После этого программа реагирует на перечисленные в нижней строке клавиши, но попытка запустить тест снова приводит к повисанию системы.

 

Что делать дальше?

 

 

P.S. Нашел вот у себя еще такой документ - PC1600 and PC2100 DDR SDRAM Unbuffered DIMM Design Specification rev 1.1. Может кому пригодится. Сам я пока не пойму, каким местом его приложить к моей проблеме

post-17095-1205171832_thumb.jpg

post-17095-1205171850_thumb.jpg

Unbuffered_DDR_design_spec_1.1.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Фотки двух типов модулей сделал, прилагаю.
к сожалению маркировку микросхем на фото видно не очень, но из того что удалось разглядеть,

у Вас все модули однотипные и с чипами 32мбитX8 и одна линия на модуль(вторая не запаянна)

Вариант разводки у Вас самый простой, те все подряд

При этом на части модулей наклейка съежилась и утянула микросхемы с мест.
Да, снимать наклейки и отмывать следы от них, это обычно самая утомительная часть

всего процесса.

3) Десяток неповредившихся модулей попытался проверить.

Результ: два живы (можно использовать как доноры заведомо исправных микросхем).

Возможно, кривая пайка всей серии, посмотреть пайки под мелкоскопом, плохие

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

пошевелить иголкой.

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

держит шину, проверьте температуру чипов

Один модуль (на картинке DDR_1.jpg) выдал ошибку в тесте №1 (Address test, own test), при этом bit pattern был 00100000. Переставил на него третью справа микросхему с живого - результат не изменился.
Вот это самый правильный результат которого нужно добиться на остальных модулях,

те нужно получить Error pattern и адрес по которому он произошел, замена вероятно не помогла,

потому что каждый error pattern это 2 микросхеммы и нужно смотреть адрес

Остальные модули, даже в паре с живой памятью в младших адресах, выдают в течении секунды-двух какие-то ошибки в тесте №2 (moving inversion), после чего на pattern 00000000 происходит Unexpected interrupt и на экран выводится содержимое регистров процесcора (всегда одинаковое насколько запомнил ключевые регистры, PC=003C1A). Успевал заметить, что для одного модуля пишется error pattern 033DFF40, для некоторых 0xFFFFFFFF. После этого программа реагирует на перечисленные в нижней строке клавиши, но попытка запустить тест снова приводит к повисанию системы.
При старте memtest нужно усиленно жать С(сменить настройки, ну или как оно там вызывается

в последних версиях) и методом перебора найти те номера тестов на которых будет показывать

вразумительный error pattern, вразумительный это макс байт, ну иногда 2

для того чтобы прога не вываливалась можно еще жать пробел для тормозов при заполнении всего

экрана ошибками

 

P.S. Чуть по позже найду у себя файлик с описанием для такого типа модулей...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

к сожалению маркировку микросхем на фото видно не очень, но из того что удалось разглядеть, у Вас все модули однотипные и с чипами 32мбитX8 и одна линия на модуль(вторая не запаянна)
Да. Есть какое-то количество с двухсторонним монтажем, но их я оставил "на потом".

Вот это самый правильный результат которого нужно добиться на остальных модулях, те нужно получить Error pattern и адрес по которому он произошел, замена вероятно не помогла, потому что каждый error pattern это 2 микросхеммы и нужно смотреть адрес
Можно подробнее, какие два корпуса соответствуют этому паттерну? Ошибок он там насчитал много, но паттерн оставался один и тот же. Если я правильно понял описание этого теста, в каждую ячейку пишется ее адрес. И сбой в 24 бите, получается, указывает на микросхему, которая подключена к 24 биту шины данных. В чем моя ошибка? Адрес я завтра посмотрю, но поменять даже два (если я с третьим слева не угадал) корпуса будет быстрее, чем постить сюда адрес и ждать ответа.
При старте memtest нужно усиленно жать С(сменить настройки, ну или как оно там вызывается в последних версиях) и методом перебора найти те номера тестов на которых будет показывать вразумительный error pattern, вразумительный это макс байт, ну иногда 2 для того чтобы прога не вываливалась можно еще жать пробел для тормозов при заполнении всего экрана ошибками
Пробел жать пробовал, но, видимо, не успел.

 

Спасибо за помощь! Будут новые результаты - отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть мем-тест написанный русским программером - он из spd вычитывает характеристики dimm'а и рисует его на экране - битые микросхемы просто подсвечиваются красным цветом. поищите - была довольно известная в свое время прога.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...