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

On 3/12/2021 at 7:47 AM, vitaly_n said:

Авторефреши идут каждые 93,3 нс.

Каждые 12 тактов авторефреш? А зачем так часто? 

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


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

On 3/13/2021 at 6:27 PM, zombi said:

Каждые 12 тактов авторефреш? А зачем так часто? 

А потому что их нет во время пакета. При нагреве время на регенерацию снижается до 16 мс. И все строки должны быть за это время прорегенерированы, на что есть только межпакетные паузы, а если пакеты идут часто, то этих межпакетных пауз остаётся немного, соответственно, во время межпакетных пауз торопимся успеть регенерировать строки... Даташит не запрещает.

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


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

Я не большой знаток sdram и многому учусь благодаря именно вот таким темам, когда напишу какую нибудь дичь и меня поправят.

А не получается ли так, что частыми авторефрешами вы сами чип и нагреваете?

Если грубо:

длина пакета 332 байт х 4 такта = 1328 тактов,

регенерировать надо 16 мс / 4096 = 500 тактов

Не лучше ли просто после пакета принудительно добавить 3 обязательных рефреша,

а остальные уже как и положено через 500.

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


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

13 hours ago, zombi said:

Я не большой знаток sdram и многому учусь благодаря именно вот таким темам, когда напишу какую нибудь дичь и меня поправят.

А не получается ли так, что частыми авторефрешами вы сами чип и нагреваете?

В даташите указано "4096 refresh cycles every 16 ms (A2 grade) or 64 ms (Commercial, Industrial, A1 grade)"

Quote

длина пакета 332 байт х 4 такта = 1328 тактов,

регенерировать надо 16 мс / 4096 = 500 тактов

Не лучше ли просто после пакета принудительно добавить 3 обязательных рефреша,

а остальные уже как и положено через 500.

Кто сказал что рефреш обязателен и положен через равные кванты времени? Если присмотреться внимательно на длительности команд, то autorefresh это act + pre (trcd+tras) со встроенным счетчиком рядов внутри чипа. Если нужные вам ряды открываются и закрываются один раз в 16мс, то авторефреш можно не использовать вообще. А можно сделать собственный, интеллектуальный рефреш, когда есть пул рядов не требующих обхода, т.к. работа с ними идет постоянно, пул рядов с редким доступом и пул рядов с мегаредким доступом).

ЗЫ. Идея с двойным чтением была проверена? так ломается запись или чтение? Еще, есть такой экзотический вариант, попадался мне на другой памяти: проблема в питании, неправильная конструкция источника памяти. При начале пакетной работы с памятью, резко растет ток потребления, а источник не может обеспечить такие пиковые нагрузки. Начиная со второго чтения он выходит на режим и уже работает стабильно)

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


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

8 hours ago, des00 said:

В даташите указано

Я спросил ТС зачем так часто делать рефреш?

Ведь если входной поток отсутствует, то все 4096 циклов рефреша будут выполняться постоянно и не за 16 мс а за 384 мкс.

Не вызовет ли это излишнее потребление и как следствие неоправданный нагрев самой мс sdram?

Вы же пишете про то что открывая нужные ряды можно авторефреш вообще не делать и про какие-то пулы.

Кстати, что такое эти пулы? можно подробней?

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


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

4 hours ago, zombi said:

Я спросил ТС зачем так часто делать рефреш?

Ведь если входной поток отсутствует, то все 4096 циклов рефреша будут выполняться постоянно и не за 16 мс а за 384 мкс.

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

4 hours ago, zombi said:

Не вызовет ли это излишнее потребление и как следствие неоправданный нагрев самой мс sdram?

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

4 hours ago, zombi said:

Вы же пишете про то что открывая нужные ряды можно авторефреш вообще не делать и про какие-то пулы.

Кстати, что такое эти пулы? можно подробней?

ну это я так назвал хранилище адресов где указано что и когда обновлять. Назовите это страницы, кучи или любым другим понятным вам термином. 

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


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

6 hours ago, des00 said:

ну это я так назвал хранилище адресов где указано что и когда обновлять. Назовите это страницы, кучи или любым другим понятным вам термином. 

Звучит как-то фантастически для меня.

Каким образом формируются эти хранилища, где именно хранятся, какой их объём и какой алгоритм работы с ними?

Можно пример?

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


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

4 hours ago, zombi said:

Звучит как-то фантастически для меня.

Каким образом формируются эти хранилища, где именно хранятся, какой их объём и какой алгоритм работы с ними?

Можно пример?

в смысле? все на уровне логики здравого смысла. Каждый ряд, чтобы он хранил информацию, должен быть открыть и закрыт каждые 16/64мс (от типа чипа). исходя из этого требования, количества рядов памяти и ваших сценариев использования памяти и строите обращение. Как придумаете такой и будет алгоритм.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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