|
Вопрос по регенерации в SDRAM |
|
|
|
Jan 16 2014, 12:59
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(SM @ Jan 16 2014, 15:52)  Это само собой, безоговорочно, если открыл строку - закрой за собой. Ее предзарядить надо, чтобы потом открыть заново. Даже время есть - по истечение которого строка обязательно должна быть предзаряжена (tRAS имеет и min, и max) Я думаю, ограничение максимального времени до предзарядки связано с тем, что буфер, временно хранящий открытую строку, является динамическим, и через некоторое время разряжается, как и основная матрица. Кстати, я тоже экспериментировал с последовательным доступом без рефреша на DDR2, и всё нормально работало.
|
|
|
|
|
Jan 16 2014, 13:19
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Timmy @ Jan 16 2014, 16:59)  Кстати, я тоже экспериментировал с последовательным доступом без рефреша на DDR2, и всё нормально работало. В общем, тут все просто - если от записи в ячейку до считывания из нее всегда проходит времени меньше, чем Trefi * 8 (на сколько я помню, можно запостить подряд до 8 команд рефреша, значит реальное время хранения Trefi*8), то и регенерировать смысла нет никакого вообще. PS странно бы иметь динамический буфер, какой смысл там экономить то площадь.... По классической схеме там именно динамическая линия выборки, и динамический усилитель считывания.
|
|
|
|
|
Feb 14 2014, 13:37
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381

|
Не хотел создавать новую тему, так что кину вопрос здесь... Насчет 8ми команд рефреша подряд поясните пожалуйста. Память другая (INFINEON HYB25D25616BС]), но в доке есть подобное:
The refresh addressing is generated by the internal refresh controller. This makes the address bits “Don’t Care” during an Auto Refresh command. The 256Mb DDR SDRAM requires Auto Refresh cycles at an aver- age periodic interval of 7.8 us (maximum). 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 in the system, meaning that the maximum absolute interval between any Auto Refresh command and the next Auto Refresh command is 9 * 7.8 us (70.2 us). This maximum absolute interval is short enough to allow for DLL updates internal to the DDR SDRAM to be restricted to Auto Refresh cycles, without allowing too much drift in t AC between updates.
Первый и второй абзац как-то не стыкуются... Я слабо понял, как это трактовать и как использовать. То есть даешь команду авторефреш и далее в течении 70.2 мкс творишь с данными что хочешь? В первый раз с динамической памятью разбираюсь, так что наставьте на верный путь)
|
|
|
|
|
Feb 17 2014, 12:24
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381

|
Я правильно понимаю, что эта опция нужна, когда априори известно, что в течении следующих N*tREFI не будут выполняться никакие другие команды? Иначе могут возникнуть коллизии. А если, например, мне необходимо конвеерно считывать или записывать данные то нужно через каждые tREFI выполнять регенерацию.
|
|
|
|
|
Feb 17 2014, 12:35
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(ig_f @ Feb 17 2014, 16:24)  Я правильно понимаю, что эта опция нужна, когда априори известно, что в течении следующих N*tREFI не будут выполняться никакие другие команды? Наоборот, если напихать в SDRAM 8 штук рефрешей подряд, то у Вас потом будет N*tREFI времени, чтобы делать что угодно, и не делать рефрешей. А если дать один рефреш, то и времени у Вас будет 1 tREFI. Я смутно догадываюсь, что один RFSH регенирирует одну строку одного банка, определяемый каким-то счетчиком внутренним, а банков - 8, поэтому их и можно подряд делать... Но это догадки, ничем не подтвержденные.
|
|
|
|
|
Mar 3 2014, 09:35
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381

|
У моей микросхемы всего 2 банка. Адреса банков двухбитные. Что-то ни в даташите, ни в JESD не нашел информации о том, какой адрес для первого банка, а какой для второго. Проверять методом тыка?
|
|
|
|
|
Mar 3 2014, 10:04
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381

|
Infineon HYB25D256160BT-7F
|
|
|
|
|
Mar 3 2014, 10:33
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381

|
Цитата(SM @ Mar 3 2014, 14:18)  вообще то первые слова в даташите:
The 256Mb DDR SDRAM is a high-speed CMOS, dynamic random-access memory containing 268,435,456 bits. It is internally configured as a quad-bank DRAM
quad это не два, а четыре! Точно  а я почему-то был в полной уверенности, что два, и еще удивлялся почему в JESD такое число банков отсутствует. Прошу прощенья за затуп. Спасибо
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|