Введение
Тип памяти с произвольным доступом
XDR DRAM (extreme data rate dynamic random access memory) — это высокопроизводительный интерфейс динамической памяти с произвольным доступом. Он основан на RDRAM и является его последователем. Конкурирующие технологии включают DDR2 и GDDR4.
Обзор
XDR был разработан для эффективной работы в небольших потребительских системах с высокой пропускной способностью, высокопроизводительных приложениях памяти и высококлассных графических процессорах. Он устраняет проблемы с аномально высокой задержкой, которые были характерны для ранних версий RDRAM. Кроме того, XDR DRAM делает упор на пропускную способность на один вывод, что может способствовать снижению затрат на производство печатных плат, поскольку для достижения той же пропускной способности требуется меньше линий. Rambus является владельцем прав на эту технологию. XDR используется компанией Sony в игровой консоли PlayStation 3.
Выступление
Начальная тактовая частота 400 МГц. Октальная скорость передачи данных (ODR): восемь бит на такт в каждой полосе. Каждый чип обеспечивает 8, 16 или 32 программируемых полос, обеспечивая пропускную способность до 230,4 Гбит/с (28,8 ГБ/с) при 900 МГц (эффективно 7,2 ГГц).
Задержка
1.25/2.0/2.5/3.33 нс запросные пакеты
Команда " Активировать строку "
Это работает аналогично команде активации стандартной SDRAM, указывая адрес строки для загрузки в массив сенсорных усилителей банка памяти. Для экономии энергии чип может быть сконфигурирован для активации только части массива сенсорных усилителей. В этом случае биты SR1 0 определяют, какая половина или четверть строки должна быть активирована, и последующие адреса столбцов команд чтения/записи должны быть ограничены этой частью. (Операции обновления всегда используют всю строку.)
Команды чтения/записи
Они работают аналогично стандартным командам чтения или записи в SDRAM, указывая адрес столбца. Данные поступают в чип через несколько циклов после команды записи (обычно 3) и выводятся чипом через несколько циклов после команды чтения (обычно 6). Как и в случае с другими типами SDRAM, контроллер DRAM отвечает за то, чтобы шина данных не использовалась одновременно для передачи в обоих направлениях. Данные всегда передаются пакетами по 16 тактов, каждый из которых длится 2 цикла. Таким образом, для устройства ×16 за один пакет передается 256 бит (32 байта). Если чип использует шину данных шириной менее 16 бит, один или несколько младших битов адреса столбца используются для выбора части столбца, которая будет представлена на шине данных. Если шина данных имеет ширину 8 бит, SC3 используется для определения, какую половину считываемых данных выбирать; если шина данных имеет ширину 4 бит, используются SC3 и SC2, и так далее. В отличие от традиционных SDRAM, здесь нет возможности выбора порядка подачи данных в пакете. Следовательно, невозможно выполнять критические чтения с приоритетом первого слова.
Команда записи с маской
Команда маскированной записи аналогична обычной записи, но задержка команды не допускается и предоставляется байт маски. Это позволяет управлять тем, какие 8-битные поля будут записаны. Это не битовая карта, указывающая, какие байты следует записать; она была бы недостаточно велика для 32 байтов в пакете записи. Скорее, это битовый шаблон, которым контроллер DRAM заполняет байты, которые не записываются. Контроллер DRAM отвечает за поиск шаблона, который не встречается в других байтах, которые должны быть записаны. Поскольку существует 256 возможных шаблонов и всего 32 байта в пакете, найти подходящий шаблон несложно. Даже при подключении нескольких устройств параллельно, байт маски всегда можно найти, если ширина шины не превышает 128 бит. (Это привело бы к 256 байтам за пакет, но команда маскированной записи используется только в том случае, если хотя бы один из них не должен быть записан.) Каждый байт состоит из 8 последовательных битов, передаваемых по одной линии данных в течение определенного тактового цикла. M0 соответствует первому биту данных, передаваемому в течение тактового цикла, а M7 – последнему биту. Эта схема также затрудняет выполнение критических чтений слов в прямом порядке; любое слово должно включать биты как минимум из первых 8 переданных битов.
Команда калибровки/отключения
Эта команда выполняет ряд вспомогательных функций, определяемых полем XOPx. Хотя существует 16 вариантов, используются только 4 из них. Три подкоманды запускают и останавливают калибровку выходного драйвера (которая должна выполняться периодически, каждые 100 мс). Четвертая подкоманда переводит чип в режим пониженного энергопотребления. В этом режиме он выполняет внутреннее обновление и игнорирует высокоскоростные линии данных. Для его пробуждения необходимо использовать низкоскоростную последовательную шину.
Малоскоростная серийная шина
XDR DRAM тестируются и конфигурируются с помощью низкоскоростной последовательной шины. Сигналы RST, SCK и CMD передаются контроллером на каждый чип параллельно. Линии SDI и SDO соединяются последовательно, при этом последний выход SDO подключается к контроллеру, а первый вход SDI подтягивается к высокому уровню (логический 0). При сбросе каждый чип устанавливает свой выход SDO в низкий уровень (1). После снятия сброса на чипы отправляется серия импульсов SCK. Каждый чип устанавливает свой выход SDO в высокий уровень (0) через один цикл после того, как его вход SDI перейдет в высокий уровень (0). Кроме того, он подсчитывает количество циклов, прошедших между снятием сброса и переходом входа SDI в высокий уровень, и сохраняет это значение во внутренний регистр идентификатора чипа. Команды, отправляемые контроллером по линии CMD, содержат адрес, который должен совпадать с полем идентификатора чипа.