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

Можно ли чипу постоянно (с интервалом tRFC=64нс) подавать команду AutoRefresh ?

Или есть ограничения?

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


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

На все типы памяти рекомендуют каждые 7.8125 мкс выполнить одну команду AUTO REFRESH.

А в качестве альтернативы предлагают :

на SDRAM:

Alternatively, to satisfy the refresh requirement a burst refresh can be employed after

every tREF period by issuing consecutive AUTO REFRESH commands for the number of rows

to be refreshed at the minimum cycle rate (tRFC).

на DDR :

To allow for improved efficiency in scheduling and switching between tasks,

some flexibility in the absolute refresh interval is provided.

A maximum of eight AUTO REFRESH commands can be posted to any given DDR SDRAM,

meaning that the maximum absolute interval between any AUTO REFRESH command and the

next AUTO REFRESH command is 9 × tREFI(= tREFC).

на DDR2:

ничего не предлагают

Получается :

для SDRAM можно дать сразу хоть все 8192 команды AUTOREFRESH пачкой каждые 64ms?

для DDR не более 8-ми команд AUTOREFRESH подряд и следующие восемь не раньше чем через 8*7.8125 мкс?

для DDR2 будь добр дать одну команду AUTOREFRESH каждые 7.8125 мкс? безальтернативно!

 

Подскажите, люди добрые, правильно ли я понимаю?

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


Ссылка на сообщение
Поделиться на другие сайты
Подскажите, люди добрые, правильно ли я понимаю?

Что там непонятного? За период рефреша (64мс) Вы должны обновить все строки. В каком порядке это делать - фиолетово.

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


Ссылка на сообщение
Поделиться на другие сайты
В каком порядке это делать - фиолетово.

А как же быть с этим?

A maximum of eight AUTO REFRESH commands can be posted to any given DDR SDRAM

 

Хочу выдать 8192 команды AUTOREFRESH (каждая 64нс) за 8192*64нс=524.288мкс.

И следующие 64мс-524.288мкс=63.475...мс делай чего угодно!

И с SDRAM это вроде должно работать.

А с DDR и DDR2 непонятно , прокатит, нет?

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


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

Судя по цитате про "8 команд AutoRefresh" - максимальный интервал между двумя командами AutoRefresh - 9 х tREFI.

Т.е. для DDR точно не прокатит отдать 8192 команды сразу, а оставшиеся 63.475...мс делать что угодно.

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


Ссылка на сообщение
Поделиться на другие сайты
Т.е. для DDR точно не прокатит отдать 8192 команды сразу, а оставшиеся 63.475...мс делать что угодно.

Вот и я склоняюсь к такому мнению. Но решил все же переспросить.

А то "курю" тут разные даташиты в одиночестве. Уже аж мозХ "плавится".

 

А на DDR2, получается, даже 8-мь подряд идущих команд AUTOREFRESH нельзя!

Давай точно через каждые tREFI команду AUTOREFRESH и не выёживайся!

Я прав?

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


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

Для DDR2 может быть и можно.

В таблице 12 (для MT47H128M8) указаны только два параметра: минимальное время между двумя командами Refresh (75 ns), и среднее периодическое (max 7.8 us). Максимальный интервал для двух Refresh не указан нигде в тексте, и на диаграммах его тоже нет.

 

Можно сделать вывод, что достаточно соблюдать только минимальный интервал между Refresh, и повторять это дело каждые 64ms. А остальное на усмотрение пользователя.

Изменено пользователем controller_m30

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


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

Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд?

 

Это что же получается,

для SDRAM-можно 8192

для DDR только 8

для DDR2 опять 8192

 

Бред какой-то!

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


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

А вот для продуктов Hynix и Allianse - можно только 8 подряд AutoRefresh! Hynix, Alliance

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

 

Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд?

Из Micron-овского даташита следует, что можно 8192 подряд :laughing:

Изменено пользователем controller_m30

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


Ссылка на сообщение
Поделиться на другие сайты
А вот для продуктов Hynix и Allianse - можно только 8 подряд AutoRefresh!

Ну тогда всё логично получается.

SDRAMу можно хоть все 8192 сразу "выплюнуть", а начиная с

DDR,DDR2/3/4 и тд можно только 8-мь команд AUTOREFRESH подряд "скормить" чипу и не более за период 9*tREFI.

То, что я и пытался выяснить.

А то, что у MICRONа чего то там типа можно - скорее всего просто скопипастили из своих же документов не полностью :biggrin:

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


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

Приветствую!

Ну тогда всё логично получается.

SDRAMу можно хоть все 8192 сразу "выплюнуть", а начиная с

DDR,DDR2/3/4 и тд можно только 8-мь команд AUTOREFRESH подряд "скормить" чипу и не более за период 9*tREFI.

То, что я и пытался выяснить.

А то, что у MICRONа чего то там типа можно - скорее всего просто скопипастили из своих же документов не полностью :biggrin:

А мне кажется что 9*tREFI. это максимальный период между бурстами (по 8 штук) авторефреш. А вот минимального времени между бурстами явно не укзанно. Тоесть может можно сделать бурст 8 штук - потом nop чтобы DLL не уплыло а потом опять 8 штук бурст?

 

Удачи! Rob.

 

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


Ссылка на сообщение
Поделиться на другие сайты
А вот минимального времени между бурстами явно не укзанно. Тоесть может можно сделать бурст 8 штук - потом nop чтобы DLL не уплыло а потом опять 8 штук бурст?

Дык, добавить NOP между бустами не проблема абсолютно!

(тем более что там этих NOPов...(после команды AUTOREFRESH) аж на 75 нс! да хоть на 105 , да хоть на 205нс) дохрена и больше!

Хочется понять логику работы.

Почему максимально допустимое количество последовательно поданных команд AUTOREFRESH для SDRAM и для DDR/2/3/4... так радикально отличается.

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


Ссылка на сообщение
Поделиться на другие сайты
Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд?

А первоисточники не пробовали читать - стандарт JEDEC JESD79 "DDR2 SDRAM SPECIFICATION" ?

 

 

 

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


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

When the refresh cycle has completed, all banks of the DDR2 SDRAM will be in the precharged (idle) state. A delay

between the Refresh command (REF) and the next Activate command or subsequent Refresh command must be

greater than or equal to the Refresh cycle time (tRFC).

To allow for improved efficiency in scheduling and switching between tasks, some flexibility in the absolute refresh

interval is provided. A maximum of eight Refresh commands can be posted to any given DDR2 SDRAM, meaning

that the maximum absolute interval between any Refresh command and the next Refresh command is 9 x tREFI.

 

JEDEC Standard No. 79-2E

Page 50

 

видимо допускается максимум 8 подряд рефрешей через tRFC, а следующая регенерация через 9 x tREFI.

Тоже смотрел возможность массовой регенерации, а потом плотно к памяти присосаться.

Время tRFC для 2 Гбит чипа от Микрон слишком большое tRFC = 195нс, получается сама регенерация займет 39*8 = 312 тактов на 200 МГц.

 

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


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

В статьях о BIOS компьютера, упоминается опция "Refresh Queue Depth" (Глубина Очереди Обновления), и возможные параметры: 0, 4, 8, 12.

Эта опция появилась ещё во времена EDO RAM (1994 год). Из пояснений следует, что уже тогда в чипах имелся конвейер регенерации, глубиной >4 команд. Загруженный в него пакет Refresh-команд, автоматически выполнялся через равные промежутки времени, принятые для регенерации.

 

Если конвейер DDR2 наследует эту технологию, тогда понятно, почему нужно ждать 9 циклов tRFC - внутренний автомат, с промежутками 15 микросекунд (или сколько там положено), регенерирует заданные строки. И отдавать ему большее количество команд на регенерацию бессмысленно, т.к. они "потеряются", не поместившись в конвейер.

Пример статьи.

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация