zombi 0 6 июня, 2018 Опубликовано 6 июня, 2018 · Жалоба Можно ли чипу постоянно (с интервалом tRFC=64нс) подавать команду AutoRefresh ? Или есть ограничения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба На все типы памяти рекомендуют каждые 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 мкс? безальтернативно! Подскажите, люди добрые, правильно ли я понимаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Подскажите, люди добрые, правильно ли я понимаю? Что там непонятного? За период рефреша (64мс) Вы должны обновить все строки. В каком порядке это делать - фиолетово. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба В каком порядке это делать - фиолетово. А как же быть с этим? 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 непонятно , прокатит, нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Судя по цитате про "8 команд AutoRefresh" - максимальный интервал между двумя командами AutoRefresh - 9 х tREFI. Т.е. для DDR точно не прокатит отдать 8192 команды сразу, а оставшиеся 63.475...мс делать что угодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Т.е. для DDR точно не прокатит отдать 8192 команды сразу, а оставшиеся 63.475...мс делать что угодно. Вот и я склоняюсь к такому мнению. Но решил все же переспросить. А то "курю" тут разные даташиты в одиночестве. Уже аж мозХ "плавится". А на DDR2, получается, даже 8-мь подряд идущих команд AUTOREFRESH нельзя! Давай точно через каждые tREFI команду AUTOREFRESH и не выёживайся! Я прав? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 7 июня, 2018 Опубликовано 7 июня, 2018 (изменено) · Жалоба Для DDR2 может быть и можно. В таблице 12 (для MT47H128M8) указаны только два параметра: минимальное время между двумя командами Refresh (75 ns), и среднее периодическое (max 7.8 us). Максимальный интервал для двух Refresh не указан нигде в тексте, и на диаграммах его тоже нет. Можно сделать вывод, что достаточно соблюдать только минимальный интервал между Refresh, и повторять это дело каждые 64ms. А остальное на усмотрение пользователя. Изменено 7 июня, 2018 пользователем controller_m30 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Для DDR2 может быть и можно. Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд? Это что же получается, для SDRAM-можно 8192 для DDR только 8 для DDR2 опять 8192 Бред какой-то! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 7 июня, 2018 Опубликовано 7 июня, 2018 (изменено) · Жалоба А вот для продуктов Hynix и Allianse - можно только 8 подряд AutoRefresh! Hynix, Alliance Получается, что либо Micron-овцы забыли указать об ограничении, либо в их продукции этого ограничения действительно нет. Но поскольку у других производителей оно есть, то для лучшей взаимозаменяемости стоит делать такой контроллер памяти, который это учитывает. Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд? Из Micron-овского даташита следует, что можно 8192 подряд :laughing: Изменено 7 июня, 2018 пользователем controller_m30 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба А вот для продуктов Hynix и Allianse - можно только 8 подряд AutoRefresh! Ну тогда всё логично получается. SDRAMу можно хоть все 8192 сразу "выплюнуть", а начиная с DDR,DDR2/3/4 и тд можно только 8-мь команд AUTOREFRESH подряд "скормить" чипу и не более за период 9*tREFI. То, что я и пытался выяснить. А то, что у MICRONа чего то там типа можно - скорее всего просто скопипастили из своих же документов не полностью :biggrin: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Приветствую! Ну тогда всё логично получается. SDRAMу можно хоть все 8192 сразу "выплюнуть", а начиная с DDR,DDR2/3/4 и тд можно только 8-мь команд AUTOREFRESH подряд "скормить" чипу и не более за период 9*tREFI. То, что я и пытался выяснить. А то, что у MICRONа чего то там типа можно - скорее всего просто скопипастили из своих же документов не полностью :biggrin: А мне кажется что 9*tREFI. это максимальный период между бурстами (по 8 штук) авторефреш. А вот минимального времени между бурстами явно не укзанно. Тоесть может можно сделать бурст 8 штук - потом nop чтобы DLL не уплыло а потом опять 8 штук бурст? Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба А вот минимального времени между бурстами явно не укзанно. Тоесть может можно сделать бурст 8 штук - потом nop чтобы DLL не уплыло а потом опять 8 штук бурст? Дык, добавить NOP между бустами не проблема абсолютно! (тем более что там этих NOPов...(после команды AUTOREFRESH) аж на 75 нс! да хоть на 105 , да хоть на 205нс) дохрена и больше! Хочется понять логику работы. Почему максимально допустимое количество последовательно поданных команд AUTOREFRESH для SDRAM и для DDR/2/3/4... так радикально отличается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 83 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба Можно что? Только 8-мь или 8192 команды AUTOREFRESH подряд? А первоисточники не пробовали читать - стандарт JEDEC JESD79 "DDR2 SDRAM SPECIFICATION" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stas 1 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба 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 МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 12 июня, 2018 Опубликовано 12 июня, 2018 · Жалоба В статьях о BIOS компьютера, упоминается опция "Refresh Queue Depth" (Глубина Очереди Обновления), и возможные параметры: 0, 4, 8, 12. Эта опция появилась ещё во времена EDO RAM (1994 год). Из пояснений следует, что уже тогда в чипах имелся конвейер регенерации, глубиной >4 команд. Загруженный в него пакет Refresh-команд, автоматически выполнялся через равные промежутки времени, принятые для регенерации. Если конвейер DDR2 наследует эту технологию, тогда понятно, почему нужно ждать 9 циклов tRFC - внутренний автомат, с промежутками 15 микросекунд (или сколько там положено), регенерирует заданные строки. И отдавать ему большее количество команд на регенерацию бессмысленно, т.к. они "потеряются", не поместившись в конвейер. Пример статьи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться