Всех приветствую!
Не нашёл специального раздела про память, потому пишу в этом разделе. Итак, имеется 4 модуля по 4 ГБ ДДР2-667. Куплены в Китае, сделаны на микросхемах Hynix H5PS2G43AFR-Y5. Модули прекрасно работают при установке по 2 штуки (в любой из двух банков), гонятся без поднятия напряжения чуть ли не до 400 МГц с таймингами 5-5-5-15 1Т (!), проходят МемТест86+. Но если установить все 4 модуля вместе - не работают. Несовместимость с материнкой, процессором и т.п. исключена - другие 4 ГБ модули, но на 1 Гбит чипах (т.е. аж 32-чиповые) - стабильно работают на номинальной частоте и даже немного гонятся. Пробовал с процессорами Phenom X3, Phenom II X4, на двух материнских платах. Что ещё пробовал:
Чего я не могу понять, так это почему 32-чиповые модули работают, а 16-чиповые - нет. По идее, 16-чиповые даже стабильнее работать должны - линии-то меньшим количеством чипов нагружены. Но - фиг, не работает. Судя по поведению трёх модулей, проблема возникает в распространении сигнала - он "не доходит" до последнего модуля при установке 3-х и более модулей. Или доходит не вовремя. Тут, как я понимаю, косяк либо в терминации сигналов, либо в таймингах. Читал статьи про тайминги - ничего интересного не нашёл. А вот в даташитах обратил внимание на пикосекундные тайминги - "Address and control input setup/hold time" (tIS и tIH) и "DQ and DM input setup/hold time" (tDS и tDH). Они привязаны к скорости нарастания фронтов сигналов, т.е., судя по всему, как раз и призваны учитывать нагрузку на линии памяти - чем больше нагрузка, тем менее крутые фронты. Нашёл в даташите таблицы для расчёта этих таймингов. Оказалось, что поправки для каждого тайминга свои и находятся в зависимости и от скорости нарастания сигналов DQS, и от скорости нарастания сигналов DQ. Причём зависят ещё и нелинейно. Всё это делает, как я понимаю, затруднённой попытку тупо подобрать их. Измерить времена нарастания наносекундных импульсов для меня вообще из области фантастики.
Есть ли у кого-нибудь опыт решения подобной проблемы или хотя бы какие-то соображения, советы?
P.S. И ещё не могу разобраться с таймингом tRFC, а точнее - с его расчётом и особенно с его редактированием в SPDTool, но это уже другая сказка)))
Вопрос ещё актуален)))
Знаете, а у меня тоже не работают! Но я знаю почему.
И открою для Вас огромную тайну. Тут не клуб экстрасенсов.
А Вас пытать или сами скажете: Какая материнская плата (производитель, модель и ревизия), процессор, версия Bios-а?
Ах да, про мои. Мои на полке лежат ...
Модели процессоров указаны, но специально для Вас повторю: Phenom X3 (8750), Phenom II X4 (905e). Материнские платы, на которых пробовал - m3a и m2a-vm. Свои соображения я высказал, хотел услышать их критику или подтверждение, а так же, возможно, и какие-то соображения или опыт.
Прежде чем вставлять желательно почитать документацию.
Если Ваши платы Asus
то для m2a-vm:
4 x 240-pin DIMM, support max. 8GB DDR2 800/667/533 ECC and Non-ECC,un-buffered memory
а для m3a:
4 x DIMM, max. 8GB, DDR2 1066 / 800 / 667 / 533, ECC and non-ECC, un-buffered memory
т.е. максимум 8Гб.
Простите за некоторую грубость, но всё-таки, отвечая на вопрос, лучше сначала его полностью прочитать. Если бы вы прочитали, то, во-первых, не переспрашивали бы модели процессоров, а во-вторых, увидели бы вот это:
вот это:
и вот это:
Контроллер памяти находится в процессоре, так что механизм ограничения объёма памяти (если бы таковое ограничение в реальности существовало) материнской платой мне даже придумать сложно. Что касается ограничения в мануалах, то, как я понимаю, оно означает только, что данная плата не тестировалась с 4ГБ модулями и в списке совместимости таких модулей нет.
Вопрос1. Не работают 4 модуля как - не определяется последний модуль, вообще не определяется
память или сбоит?
Вопрос2. Есть возможность снизить частоту работы памяти(установив CPU с минимальной
FSB)? Если на какой то частоте все же работает, то проблема с электрическими,характеристиками,
иначе возможен баг в BIOS(неправильное распознавание модулей определенной органтзации при
установке 4 планок). Маловероятно правда. Было бы хорошо проверить на плате не от ASUS.
3. У 32-чиповых модулей наверняка больше емкость по адресным входам, а вот по входам
данных - не факт(тк каждый физический банк на модуле для каждого входа/выхода данных
использует вход/выход только от одной микросхемы).
В некоторых случаях возможно, что немного увеличенная емкость оказывают благоприятное
влияние(снижают амплитуду паразитных осцилляций). Ну или импеданс 32-чиповых модулей лучше
согласован с характеристиками конкретной линии(меньше размах отраженных сигналов). Ответ на
этот вопрос может дать очень скоростной осциллограф(как его правильно подключить тоже подумать
надо). Если есть еще какие CPU, проверить не помешает.
Не скажу за Вашу плату, но многие старые платы(Pentium2-3 от ASUS конкретно) определяют
ECC модуль по факту (пробнам циклом вероятно) и наличие/отсутствие информации в SPD об
ECC не мешает правильно распознать ECC модуль.
i8088, спасибо за ответ. Отвечаю на ваши вопросы по пунктам:
Вопрос1. При четырёх модулях система вообще не стартует, зависает на пост-коде С1 (если не ошибаюсь). Более того, сегодня ещё раз попробовал поставить эти модули (я их снимал), так и три модуля в первых трёх слотах запускаться перестали. Возможно, они запускались только когда были в определённой последовательности, которая случайно удачно сложилась, а сейчас я их "перемешал".
Вопрос2. Снижал до 200 МГц (DDR2-400) - ноль эффекта. Правда, делал это делителем памяти, а не FSB. Возможно, за счёт автоматически снижающихся таймингов снижение частоты не даёт эффекта.
Вопрос3. Насколько я понимаю, если бы увеличенная входная ёмкость сказывалась в данном случае благоприятно, то, наоборот, 4 модуля работали бы, а 2 - нет.
Осцилографа такого адского, чтобы можно было посмотреть, у меня, конечно, нет. Думаю, что из аналоговых советских даже С1-75 не факт, что справился бы. А вот процессор я сегодня достал ещё один - первый Атлон Х2 5400+. Результат - тот же, что и с феномами.
Ещё сегодня попробовал изменить тайминги tIS, tIH, tDS и tDH. Т.к. данных о скорости нарастания сигналов, к которым они привязаны (DQS и DQ, CK и Command/Address), у меня нет, то я предположил, что при четырёх модулях она вряд ли больше, чем при двух. Снизил тайминги по табличкам из даташита (у них худшим частотным характеристикам системы соответсвуют меньшие значения) - толку ноль, всё так же, как и было. То ли мало снизил, то ли не в них дело.
Прочитал ещё в даташите, что тайминг tAC тоже может увеличиваться в зависимости от джиттера. Вот думаю ещё попробовать его увеличить.
Да, 32-чиповые модули, понятно, двухранговые. А 16-чиповые - одноранговые. Правда, имеющиеся у меня 2-х гигабайтные модули тоже одноранговые, но работают прекрасно в любых количествах и соотношениях. Сравнивал даташиты одно- и двухгигабитных чипов (оба от hynix) - при беглом осмотре параметры, кроме объёма, вроде как один в один.
В связи с этим у меня большое подозрение, что один из модулей частично бракованый - увеличенная
емкость, сниженный импеданс какого-то(или всех входов). Или недостаточная нагрузочная способность
линий данных, когда память работает на выход (из-за нагрузки другими модулями фронты/спады
заваливаются, снижается размах сигналов). Те один 1-2 таких модуля могут работать вместе, а 3-4 под
вопросом. Если модули noname, то вполне могут быть сделаны из чипов, не прошедших контроль по
какому-то из параметров.
Вроде бы так, однако возможно что c 32-чиповыми модулями меньше размах осцилляций(паразитных
резонансов) , а с 16-чиповыми амплитуда их больше(это может быть связано не только с емкостью) и
при 4 модулях просто попадаем на "неудачный" резонанс и/или отражение. Однако согласен, это весьма сомнительно.
Из скоростных осциллографов - у меня есть С1-70 со стробоскопическим блоком(только для повторяющихся сигналов, синхронизация только внешняя, 3.5Ghz со входа, 1.5GHz со щупом).
Однако к сожалению материнки и модулей памяти, подобных Вашим, чтобы попробовать
воспроизвести Вашу ситуацию у меня нет.
Да, вот я вчера написал вам ответ, а потом тоже в голову эта мысль пришла. Попробую путём перестановок выявить бракованный модуль.
Про стробоскопический принцип-то я и забыл. Кстати, мне интересно: тактовые сигналы понятно, что периодические. А вот сигналы адресов, данных и всякие другие - они-то по идее непериодические. Как их осциллографом-то смотреть? Или есть какие-то программы, которые могут циклически выдавать на нужный модуль один и тот же адрес/данные?
Вообще говоря строгая периодичность не обязательна - надо чтобы интересующая нас часть
сигала повторялась относительно точки синхронизации, те например посмотреть фронт-спад.
(те необязательно чтобы сигнал имел стабильный период повторения). Главное здесь решить, что
выбрать в качестве источника синхронизации. Теоретически можно даже например для просмотра
сигнала на линиях данных использовать его же для синхронизации, но здесь будет нагрузка двух
входов С1-70. Можно использовать для синхронизации другой сигнал данных, написав программу
которая например запишет всю память нулями, единицами или 0x55AA.. а потом непрерывно читать.
Ну и подумать, как лучше подключить, чтобы обеспечить предельно малую длину земли и безопасность
для материнки. Здесь конечно только щупом-делителем, тк основной вход 50 Ohm и нельзя
подавть большое напряжение.
Я пока не озадачивался этим вопросом, тк проблемы подобной Вашей пока не было. Есть однако
проблема с недостаточной стабильностью памяти на одной из плат при установке двух CPU
(Tyan Tiger 200), но это надо поймать момент сбоя. Случается только в определенных условиях,
здесь даже с запоминающим прибором сложно поймать. Впрочем это уже другая история.
Отправить комментарий