реклама на сайте
подробности

 
 
> Некромантия (восстановление DDR2 памяти), Как определить битый чип?
Сергей Борщ
сообщение Mar 7 2008, 12:46
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
TinyQ
сообщение Mar 7 2008, 22:18
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 33
Регистрация: 29-04-07
Из: Минск
Пользователь №: 27 397



Я делал так:
в первый слот вставлял заведомо рабочую планку, а во второй неисправную.
грузился с CD-ROM и с сд-диска запускал программу теста памяти(возможно туже что и вы).
программа на тестах запись-чтение четко показывала в каких битах постоянные ошибки.
планки 64бит -> 8бит на микросхему. стоят они по порядку. младший бит со стороны первого контакта.
попадалось что неисправны были не микросхемы а резисторы которые стоят по шине данных.
удачи.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 8 2008, 13:48
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(TinyQ @ Mar 8 2008, 01:18) *
планки 64бит -> 8бит на микросхему. стоят они по порядку. младший бит со стороны первого контакта.
Это далеко не всегда так, бывают и 16бит микросхемы и даже 32, порядок бывает
тоже очень разным, иногда даже чередуется первая и вторая стороны дима,
иногда на дешевых модулях используют половинки микросхем причем как по размеру так и по
разрядности(типа половина битая половина целая).

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

2 Сергей Борщ напишите точное название чипов, размер модуля Мб, ....
А лучше сфоткайте модуль с двух сторон с высоким разрешением и приатачте здесь или в PM
тогда можно будет сказать о алгоритме поиска дохлых чипов по выводу memtest86

Я просто в свое время занимался ремонтом памяти в промышленных масштабах... smile.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 10 2008, 18:12
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(singlskv @ Mar 8 2008, 15:48) *
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. Может кому пригодится. Сам я пока не пойму, каким местом его приложить к моей проблеме
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Unbuffered_DDR_design_spec_1.1.pdf ( 597.36 килобайт ) Кол-во скачиваний: 83
 


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 10 2008, 19:13
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Сергей Борщ @ Mar 10 2008, 21:12) *
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. Чуть по позже найду у себя файлик с описанием для такого типа модулей...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 10 2008, 20:32
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(singlskv @ Mar 10 2008, 21:13) *
к сожалению маркировку микросхем на фото видно не очень, но из того что удалось разглядеть, у Вас все модули однотипные и с чипами 32мбитX8 и одна линия на модуль(вторая не запаянна)
Да. Есть какое-то количество с двухсторонним монтажем, но их я оставил "на потом".
Цитата(singlskv @ Mar 10 2008, 21:13) *
Вот это самый правильный результат которого нужно добиться на остальных модулях, те нужно получить Error pattern и адрес по которому он произошел, замена вероятно не помогла, потому что каждый error pattern это 2 микросхеммы и нужно смотреть адрес
Можно подробнее, какие два корпуса соответствуют этому паттерну? Ошибок он там насчитал много, но паттерн оставался один и тот же. Если я правильно понял описание этого теста, в каждую ячейку пишется ее адрес. И сбой в 24 бите, получается, указывает на микросхему, которая подключена к 24 биту шины данных. В чем моя ошибка? Адрес я завтра посмотрю, но поменять даже два (если я с третьим слева не угадал) корпуса будет быстрее, чем постить сюда адрес и ждать ответа.
Цитата(singlskv @ Mar 10 2008, 21:13) *
При старте memtest нужно усиленно жать С(сменить настройки, ну или как оно там вызывается в последних версиях) и методом перебора найти те номера тестов на которых будет показывать вразумительный error pattern, вразумительный это макс байт, ну иногда 2 для того чтобы прога не вываливалась можно еще жать пробел для тормозов при заполнении всего экрана ошибками
Пробел жать пробовал, но, видимо, не успел.

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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 10 2008, 21:48
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Сергей Борщ @ Mar 10 2008, 23:32) *
Можно подробнее,
Ответил на email
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Сергей Борщ   Некромантия (восстановление DDR2 памяти)   Mar 7 2008, 12:46
- - vetal   может для начала определить по маркировки точное н...   Mar 7 2008, 13:53
|- - Сергей Борщ   Извиняюсь, памяти DDR, а как менять название темы ...   Mar 8 2008, 09:13
- - DRUID3   Кстати, где-то читал что толи Knoppix, то ли еще к...   Mar 8 2008, 00:33
|- - makc   Цитата(DRUID3 @ Mar 8 2008, 03:33) Кстати...   Mar 8 2008, 18:57
- - TinyQ   Когда я этим занимался, то руководствовался этим...   Mar 8 2008, 23:07
|- - singlskv   Цитата(TinyQ @ Mar 9 2008, 02:07) Когда я...   Mar 8 2008, 23:21
- - Harbour   Есть мем-тест написанный русским программером - он...   Mar 11 2008, 05:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 07:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016