XDR-память
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2006 г. ) |

XDR DRAM ( динамическая память с произвольным доступом с экстремальной скоростью передачи данных ) — это высокопроизводительный интерфейс динамической памяти с произвольным доступом . Он основан на RDRAM и является его преемником . Конкурирующие технологии включают DDR2 и GDDR4 .
Обзор
[ редактировать ]XDR был разработан для эффективной работы в небольших потребительских системах с высокой пропускной способностью, высокопроизводительных приложениях с памятью и высокопроизводительных графических процессорах . Это устраняет проблемы с необычно высокой задержкой, от которых страдали ранние формы RDRAM. Кроме того, в XDR DRAM большое внимание уделяется полосе пропускания на каждый вывод, что может способствовать дальнейшему контролю затрат на производство печатных плат. Это связано с тем, что для той же пропускной способности требуется меньше полос. Rambus владеет правами на технологию. XDR используется Sony в консоли PlayStation 3 . [1]
Технические характеристики
[ редактировать ]Производительность
[ редактировать ]- Начальная тактовая частота 400 МГц.
- Восьмеричная скорость передачи данных (ODR): восемь бит за такт на полосу.
- Каждый чип имеет 8, 16 или 32 программируемых канала, обеспечивая скорость до 230,4 Гбит /с (28,8 ГБ /с) на частоте 900 МГц (эффективная 7,2 ГГц). [2]
Функции
[ редактировать ]- Двунаправленные дифференциальные уровни сигнализации Rambus (DRSL)
- Здесь используется дифференциальный драйвер с открытым коллектором , размах напряжения 0,2 В. Это не то же самое, что LVDS . [1]
- Программируемое встроенное терминирование
- Адаптивное согласование импеданса
- Восьмибанковая архитектура памяти
- До четырех чередующихся банковских транзакций при полной пропускной способности
- Соединение для передачи данных «точка-точка»
- упаковки для чипов Упаковка
- Динамическое планирование запросов
- Поддержка раннего чтения после записи для максимальной эффективности
- Обновление без дополнительных затрат
Требования к питанию
[ редактировать ]- 1.8 V Vdd
- Программируемый сверхнизковольтный DRSL с размахом 200 мВ
- Маломощная PLL / DLL конструкция
- Поддержка самообновления при отключении питания
- Поддержка динамической ширины данных с динамическим стробированием часов
- Отключение питания каждого контакта ввода-вывода
- Поддержка активации подстраницы
Простота проектирования системы
[ редактировать ]- Побитовые схемы FlexPhase компенсируют разрешение 2,5 пс.
- XDR Interconnect использует минимальное количество контактов
Задержка
[ редактировать ]- Пакеты запроса 1,25/2,0/2,5/3,33 нс
Протокол
[ редактировать ]Высокоскоростные сигналы микросхемы XDR RAM представляют собой дифференциальный тактовый вход (тактовый сигнал от ведущего устройства, CFM/CFMN), 12-битную несимметричную шину запросов/команд (RQ11..0) и двунаправленную дифференциальную шину данных до 16 разрядность (DQ15..0/DQN15..0). Шина запросов может быть подключена к нескольким микросхемам памяти параллельно, но шина данных является двухточечной; к нему может быть подключена только одна микросхема ОЗУ. Для поддержки различных объемов памяти с помощью контроллера памяти фиксированной ширины чипы имеют программируемую ширину интерфейса. Контроллер DRAM с шириной 32 бита может поддерживать две 16-битные микросхемы или быть подключен к 4 микросхемам памяти, каждая из которых передает 8 бит данных, или до 16 микросхем, сконфигурированных с 2-битными интерфейсами.
Кроме того, каждый чип имеет низкоскоростную последовательную шину, используемую для определения его возможностей и настройки интерфейса. Он состоит из трех общих входов: линии сброса (RST), последовательного командного входа (CMD) и последовательного тактового сигнала (SCK), а также линий ввода/вывода последовательных данных (SDI и SDO), которые последовательно соединены вместе и в конечном итоге соединяются. к одному выводу контроллера памяти.
Все несимметричные линии имеют активный низкий уровень ; заявленный сигнал или логическая 1 представлен низким напряжением.
Шина запроса работает с двойной скоростью передачи данных по сравнению с тактовым входом. Две последовательные 12-битные передачи (начиная с заднего фронта CFM) составляют 24-битный командный пакет.
Шина данных работает со скоростью, в 8 раз превышающей тактовую; тактовая частота 400 МГц генерирует 3200 MT/с. Все операции чтения и записи данных выполняются пакетами по 16 передач продолжительностью 2 тактовых цикла.
Форматы пакетов запроса следующие:
Часы край | Кусочек | НЕТ | Столбец чтение/запись | Калибровка/выключение питания | Предварительная зарядка/обновление | Активировать строку | Замаскированная запись | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Кусочек | Кусочек | Описание | Кусочек | Описание | Кусочек | Описание | Кусочек | Описание | Кусочек | Описание | ||||||||
↓ | RQ11 | 0 | 0 | Код операции COL | 0 | Код операции COLX | 0 | Код операции ROWP | 0 | Код операции ROWA | 1 | Код операции COLM | ||||||
↓ | RQ10 | 0 | 0 | 0 | 0 | 1 | M3 | Маска записи младшие биты | ||||||||||
↓ | RQ9 | 0 | 0 | 1 | 1 | Р9 | Адрес строки старшие биты | М2 | ||||||||||
↓ | RQ8 | 0 | 1 | 0 | 1 | 10 рэндов | М1 | |||||||||||
↓ | RQ7 | х | WRX | Бит записи/чтения | х | сдержанный | POP1 | Задержка предварительной зарядки (0–3) | Р11 | М0 | ||||||||
↓ | RQ6 | х | С8 | Адрес столбца старшие биты | х | POP0 | Р12 | сдержанный | С8 | Адрес столбца старшие биты | ||||||||
↓ | RQ5 | х | С9 | х | х | сдержанный | Р13 | С9 | ||||||||||
↓ | RQ4 | х | С10 | сдержанный | х | х | Р14 | С10 | сдержанный | |||||||||
↓ | запрос 3 | х | С11 | ХОП3 | Подкод операции | х | 15 рэндов | С11 | ||||||||||
↓ | RQ2 | х | BC2 | Адрес банка | ХОП2 | БП2 | Банк предоплаты | ВА2 | Адрес банка | BC2 | Адрес банка | |||||||
↓ | RQ1 | х | BC1 | ХОП1 | БП1 | ВА1 | BC1 | |||||||||||
↓ | RQ0 | х | BC0 | ХОР0 | БП0 | ВА0 | BC0 | |||||||||||
↑ | RQ11 | х | ДЭЛК | Задержка команды (0–1) | х | сдержанный | POP2 | Включить предварительную зарядку | ПОТОМУ ЧТО | Задержка команды (0–1) | М7 | Маска записи старшие биты | ||||||
↑ | RQ10 | х | х | сдержанный | х | РОП2 | Обновить команду | Р8 | Адрес строки младшие биты | М6 | ||||||||
↑ | RQ9 | х | х | х | РОП1 | Р7 | М5 | |||||||||||
↑ | RQ8 | х | х | х | РОП0 | Р6 | М4 | |||||||||||
↑ | RQ7 | х | С7 | Адрес столбца младшие биты | х | ДЭЛР1 | Задержка обновления (0–3) | Р5 | С7 | Адрес столбца младшие биты | ||||||||
↑ | RQ6 | х | С6 | х | DELR0 | Р4 | С6 | |||||||||||
↑ | RQ5 | х | С5 | х | х | сдержанный | Р3 | С5 | ||||||||||
↑ | RQ4 | х | С4 | х | х | Р2 | С4 | |||||||||||
↑ | запрос 3 | х | СК3 | Адрес подстолбца | х | х | Р1 | СК3 | Адрес подстолбца | |||||||||
↑ | RQ2 | х | СК2 | х | БР2 | Обновить банк | Р0 | СК2 | ||||||||||
↑ | RQ1 | х | СК1 | х | БР1 | СР1 | Адрес подстроки | СК1 | ||||||||||
↑ | RQ0 | х | СК0 | х | БР0 | СР0 | СК0 |
Существует большое количество ограничений по времени, определяющих минимальное время, которое должно пройти между различными командами (см. Динамическая оперативная память § Тайминг памяти ); контроллер DRAM, отправляющий их, должен гарантировать, что все они выполнены.
Некоторые команды содержат поля задержки; они задерживают эффект этой команды на заданное количество тактов. Это позволяет нескольким командам (к разным банкам) действовать в одном и том же такте.
Команда активации строки
[ редактировать ]Это работает эквивалентно стандартной команде активации 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 переданных битов.
Команда предварительной зарядки/обновления
[ редактировать ]Эта команда аналогична комбинации обычных команд предварительной зарядки и обновления SDRAM. Биты POP x и BP x определяют операцию предварительной зарядки, а биты ROP x , DELR x и BR x определяют операцию обновления. Каждый из них может быть включен отдельно. Если этот параметр включен, каждый из них может иметь различную задержку команды и должен быть адресован разному банку.
Команды предзаряда могут быть отправлены только в один банк одновременно; в отличие от обычной SDRAM, здесь нет команды «предварительная зарядка всех банков».
Команды обновления также отличаются от обычных SDRAM. Команды «обновить все банки» нет, а операция обновления разделена на отдельные операции активации и предварительной зарядки, поэтому время определяется контроллером памяти. Счетчик обновления также программируется контроллером. Операции это:
- 000: NOPR Не выполнять операцию обновления.
- REFP 001: Предварительная зарядка обновления ; завершить операцию обновления в выбранном банке.
- 010: Активация обновления REFA; активировать строку, выбранную регистром REFH/M/L, и выбранный банк для обновления.
- 011: REFI Обновление и увеличение; как и в случае с REFA, но также увеличить регистр REFH/M/L.
- 100: LRR0 Загрузка регистра обновления, низкий уровень; скопируйте RQ7–0 в младшие 8 бит счетчика обновления REFL. Никакой задержки команды.
- 101: LRR1 Загрузка среднего регистра обновления; скопируйте RQ7–0 в средние 8 бит счетчика обновления REFM. Никакой задержки команды.
- 110: LRR2 Загрузить регистр обновления высокого уровня; скопируйте RQ7–0 в старшие 8 бит счетчика обновления REFH (если реализовано). Никакой задержки команды.
- 111 зарезервировано
Команда калибровки/выключения питания
[ редактировать ]Эта команда выполняет ряд различных функций, определяемых полем XOP x . Хотя существует 16 возможностей, на самом деле используются только 4. Три подкоманды запускают и останавливают калибровку выходного драйвера (которая должна выполняться периодически, каждые 100 мс).
Четвертая подкоманда переводит чип в режим пониженного энергопотребления. В этом режиме он выполняет внутреннее обновление и игнорирует высокоскоростные линии передачи данных. Его необходимо разбудить с помощью низкоскоростной последовательной шины.
Низкоскоростная последовательная шина
[ редактировать ]XDR DRAM проверяются и настраиваются с использованием низкоскоростной последовательной шины. Сигналы RST, SCK и CMD подаются контроллером на каждый чип параллельно. Линии SDI и SDO соединены последовательно, причем последний выход SDO подключен к контроллеру, а первый вход SDI подключен к высокому уровню (логический 0).
При сбросе каждая микросхема устанавливает на своем выводе SDO низкий уровень (1). При отпускании сброса на микросхемы отправляется серия импульсов SCK. Каждый чип устанавливает высокий уровень на своем выходе SDO (0) через один цикл после того, как на его входе SDI появляется высокий уровень (0). Кроме того, он подсчитывает количество циклов, прошедших между сбросом сброса и появлением высокого уровня на входе SDI, и копирует их во внутренний регистр идентификатора микросхемы. Команды, отправляемые контроллером по линии CMD, включают адрес, который должен совпадать с полем идентификатора чипа.
Общая структура команд
[ редактировать ]Каждая команда либо читает, либо записывает один 8-битный регистр, используя 8-битный адрес. Это позволяет использовать до 256 регистров, но в настоящее время назначен только диапазон 1–31.
Обычно на линии CMD остается высокий уровень (логический 0), и импульсы SCK не оказывают никакого влияния. Для отправки команды по строкам CMD тактируется последовательность из 32 битов:
- 4 бита
1100
, сигнал запуска команды. - Бит чтения/записи. Если 0, то это чтение, если 1, то запись.
- Одиночный/широковещательный бит. Если 0, выбирается только устройство с соответствующим идентификатором. Если 1, все устройства выполняют команду.
- 6 бит последовательного идентификатора устройства. Идентификаторы устройств назначаются автоматически, начиная с 0, при сбросе устройства.
- 8 бит адреса регистра
- Один бит «0». Это дает время для обработки запросов на чтение и включения вывода SDO в случае чтения.
- 8 бит данных. Если это команда чтения, предоставленные биты должны быть равны 0, а значение регистра создается на выводе SDO выбранного чипа. Все невыбранные микросхемы подключают свои входы SDI к выходам SDO, поэтому контроллер увидит значение.
- Один бит «0». Это завершает команду и дает время для отключения вывода SDO.