Синхронная память — SDRAM и DDR SDRAM
Микросхемы синхронной динамической памяти SDRAM (Synchronous DRAM) представляет собой конвейеризированные устройства. По составу сигналов интерфейс SDRAM близок к обычной динамической памяти: кроме входов синхронизации здесь есть мультиплексированная шина адреса, линии RAS#, CAS#, WE# (разрешение записи) и CS# (выбор микросхемы) и линии данных (табл. 7.3). Все сигналы стробируются по положительному перепаду синхроимпульсов, комбинация управляющих сигналов в каждом такте кодирует определенную команду. С помощью этих команд организуется та же последовательность внутренних сигналов RAS и CAS, которая рассматривалась и для памяти FPM.
7.1. Динамическая память
241
Таблица 7.3. Назначение сигналов в микросхемах SDRAM
Сигнал CLK СКЕCS#
RAS#, CAS#, WE#
BSD, BS1 или BAD, BA1
А[0:12]
DQx DQM
Vss,VOD VSSQI
VDDQ
I/O
I/O
Назначение
Clock Input—синхронизация, действует по положительному перепаду
Clock Enable — разрешение синхронизации (высоким уровнем). Низкий
уровень переводит микросхему в режим Power Down, Suspend или Self
Refresh
Chip Select — разрешение декодирования команд (низким уровнем).
При высоком уровне новые команды не декодируются, но выполнение
начатых продолжается
Row Address Strobe, Column Address Strobe, Write Enable — сигналы,
определяющие операцию (код команды)
Bank Selects или Bank Address — выбор банка, к которому адресуется
команда
Address — мультиплексированная шина адреса. В циклах Bank Activate
определяют адрес строки. В циклах Read/Write линии А[0:9] и А11 задают
адрес столбца. Линия А10 в циклах Read/Write включает режим
автопредзаряда (при А10=1), в цикле Precharge A10=1 задает предзаряд
всех банков (независимо от BSO, BS1)
Data Input/Output — двунаправленные линии данных
Data Mask — маскирование данных. В цикле чтения высокий уровень переводит шину данных в высокоимпедансное состояние (действует через 2 такта). В цикле записи высокий уровень запрещает запись текущих данных, низкий — разрешает (действует без задержки)
Общий провод и питание ядра
Общий провод и питание выходных буферов. Изолированы от питания ядра для снижения помех
Данные для первой передачи пакета записи устанавливаются вместе с командой WR. Данные для остальных передач пакета передаются в следующих тактах. Первые данные пакета чтения появляются на шине через определенное количество тактов после команды. Это число, называемое CAS Latency (CL), определяется временем доступа ТСАС и тактовой частотой. Остальные данные пакета выдаются в последующих тактах. Временные диаграммы работы SDRAM приведены на рис. 7.6. Здесь показана команда записи WR, за которой следует команда чтения RD из той же страницы, предварительно открытой командой ACT. Далее страница закрывается командой PRE. Длина пакета 2, CL - 3.
Регенерация (цикл CBR с внутренним счетчиком адреса регенерируемой строки) выполняется по команде REF, которую можно вводить только при состоянии покоя (idle) всех банков.
Микросхемы SDRAM оптимизированы для пакетной передачи. У них при инициализации программируется длина пакета (burst length=l, 2, 4, 8 элементов), порядок адресов в пакете (wrap mode: interleave/linear — чередующийся/линейный) и операционный режим. Пакетный режим может включаться как для всех операций (normal), так и только для чтения (Multiple Burst with Single Write). Этот выбор позволяет оптимизировать память для работы либо с WB, либо с WT-кэшем.
242
Глава 7. Интерфейсы электронной памяти
Обратим внимание, что внутренний счетчик адреса работает по модулю, равному запрограммированной длине пакетного цикла (например, при burst length=4 он не позволяет перейти границу обычного четырехэлементного пакетного цикла).
Рис. 7.6. Временные диаграммы пакетных циклов SDRAM: А и В — данные для записи по адресу RO/CO и RO/CO+1, С и D — данные, считанные по адресу RO/C1 и RO/C1 +1
Пакетные циклы могут прерываться (принудительно завершаться) последующими командами. При этом оставшиеся адреса отбрасываются, и прерывающий пакет будет иметь полную длину (если его самого не прервут).
В команде Wri te имеется возможность блокирования записи данных любого элемента пакета — для этого достаточно в его такте установить высокий уровень сигнала DQM. Этот же сигнал используется и для перевода в высокоимпедансное состояния буферов данных при операции чтения.
Микросхемы SDRAM имеют средства энергосбережения, для управления ими используется вход разрешения синхронизации СКЕ.
В режиме саморегенерации (Self Refresh) микросхемы периодически выполняют циклы регенерации по внутреннему таймеру и не реагируют на внешние сигналы, поэтому внешняя синхронизация может быть остановлена.
Режимы пониженного потребления (Power Down Mode) устанавливаются при переводе СКЕ в низкий уровень командой NOP или INHBT. В этих режимах микросхема не воспринимает команд. Поскольку в данных режимах регенерация не выполняется, длительность пребывания в них ограничена периодом регенерации.
Если во время выполнения команды чтения или записи установить CKE=L, то микросхема перейдет в режим Clock Suspend Mode, в котором «замораживается» внутренняя синхронизация (нет продвижения данных) и не воспринимаются новые команды.
7.1. Динамическая память
243
Для памяти SDRAM ключевыми параметрами являются:
¦ допустимая тактовая частота;
¦ CL (Cas Latency) — число скрытых тактов (2 или 3);
¦ TRCD — задержка RAS-CAS, выраженная в тактах (2 или 3);
¦ TRP — время предварительного заряда RAS;
¦ TRC — минимальное время цикла обращений к строкам одного банка;
¦ ТАС — время задержки появления данных на выходе относительно фронта син
хросигнала.
По тактовой частоте для SDRAM, применяемой в качестве ОЗУ PC-совместимых компьютеров, имеется три градации: РС66 (поначалу ее так не называли, поскольку другойинебыло),РС100иРС133 для максимальных частот 66,6, 100и 133 МГц соответственно. Их ключевые параметры приведены в табл. 7.4.
В обозначении быстродействия микросхем SDRAM обычно фигурирует ТАС; период частоты синхронизации, естественно, не может быть меньше этой задержки. Микросхемы со спецификацией -10 могут устойчиво работать в модулях лишь на частоте 66 МГц. Микросхемы -8 могут работать на частоте 100 МГц, но, в зависимости от модификации, с разной латентностью. Так, например, для памяти Micron микросхемы с маркировкой -8А...-8С могут работать на частоте 100 МГц с CL = 3, a -8D или -8Е — с CL = 2. Естественно, память может работать и на частотах ниже максимальной. Для микросхем SDRAM, применяемых, например, в графических адаптерах, существуют и иные спецификации быстродействия.
Таблица 7.4. Ключевые параметры временной диаграммы SDRAM Спецификация CL TRCD Т„Р Твс Примечание
РС66 3 2 3 8 Медленный вариант
2 2 2 7 Самый быстрый вариант
РС100 3 3 3 8 Медленный вариант
3 2 2 7 Средний вариант
2 2 2 7 Самый быстрый вариант
PC 133 3 3 3 9 Медленный вариант
3 2 2 8 Средний вариант
2 3 2 8 Средний вариант
2 2 2 8 Самый быстрый вариант
Синхронный интерфейс позволяет довольно эффективно использовать шину и обеспечить на частоте 100 МГц пиковую производительность 100 Мбит/с на 1 вывод шины данных. SDRAM используют в составе модулей DIMM с 8-байт-ной разрядностью, что дает производительность 800 Мбайт/с. При частоте шины 133 МГц пиковая производительность уже достигла 1064 Мбайт/с. Однако эта теоретическая производительность не учитывает накладные расходы на регенерацию и подразумевает, что требуемые страницы уже открыты. Из-за указанных выше ограничений на реальном произвольном потоке запросов производительность, конечно же, будет ниже. Потенциальные возможности почти одновременно-
244 Глава 7. Интерфейсы электронной памяти
го обслуживания множества запросов, предоставляемые микросхемами SDRAM, будут реализованы лишь при достаточно «умном» контроллере памяти. От его предусмотрительности эффективность памяти зависит, пожалуй, больше, чем у простых модулей FPM и EDO DRAM.
Память DDR SDRAM представляет собой дальнейшее развитие SDRAM. Как и следует из названия (Dual Data Rate — удвоенная скорость данных), у микросхем DDR SDRAM данные внутри пакета передаются с удвоенной скоростью — они переключаются по обоим фронтам синхроимпульсов (рис. 7.7). На частоте 100 МГц DDR SDRAM имеет пиковую производительность 200 Мбит/с на вывод, что в составе 8-байтных модулей DIMM дает производительность 1600 Мбайт/с. На высоких тактовых частотах (100 МГц) двойная синхронизация предъявляет очень высокие требования к точности временных диаграмм. Для повышения точности синхронизации предпринят ряд мер.
¦ Сигнал синхронизации микросхемы подается в дифференциальной форме по
двум линиям CLK и CLK# (Differential clock inputs). Это позволяет снизить
влияние смещения уровней на точность определения момента синхрониза
ции — дифференциальный приемник срабатывает в момент равенства уровней напряжения.
¦ Для синхронизации данных в интерфейс введен новый двунаправленный стро-
бирующий сигнал DQS. Стробы генерируются источником данных: при операциях чтения DQS генерируется микросхемой памяти, при записи — контроллером памяти (чипсетом). При чтении фронты и спады этого сигнала точно центруются в моменты смены данных, приемник должен стробировать данные с небольшой задержкой относительно переключений DQS. При записи фронты и спады центруются точно посередине окна действительности данных и масок DQM.
¦ Для синхронизации DQS с системной тактовой частотой (CLK) микросхемы имеют встроенные схемы DLL (Delay Locked Loop) для автоподстройки задержки сигнала DQS относительно CLK.
Эта схема работает наподобие фазовой автоподстройки и способна выполнять синхронизацию (обеспечивать совпадение фронтов DOS и CLK) лишь в некотором ограниченном диапазоне частот синхронизации.
Есть микросхемы DDR SDRAM с возможностью отключения схем DLL; для этого они имеют дополнительный расширенный регистр режима. Отключение DLL необходимо при снижении тактовой частоты (в целях энергосбережения). При отключенной схеме DLL стробы DQS не привязаны к синхросигналу CLK, и у разных микросхем, работающих в одной системе, они будут иметь разные частоты.
В отличие от обычных микросхем SDRAM, у которых данные для записи передаются одновременно с командой, в DDR SDRAM данные для записи (и маски DQM) подаются с задержкой на один такт (write latency). Значение CAS Latency может быть и дробным (CL = 2, 2,5, 3).
В перспективе ожидается появление микросхемы DDR-II SDRAM, в которой обмен будет на четырехкратной частоте синхронизации.
7.1. Динамическая память
245
Рис. 7.7. Временные диаграммы пакетных циклов DDR SDRAM: a — чтение, CL = 2, длина пакета 4; б — запись, длина пакета 4, данные D1 не записываются
Перед «штатным» использованием микросхем SDRAM их требуется инициализировать. После подачи питания и установления синхросигнала должен быть выполнен предварительный заряд всех банков, после чего запрограммирован регистр режима. Параметр CL (CAS Latency) выбирают, исходя из спецификации микросхем и тактовой частоты так, чтобы задержка, обусловленная CL, была бы минимальной, но не меньше ТСАС. В DDR SDRAM возможны и дробные значения CL, так что настройка может быть более тонкой. В DDR SDRAM из-за необходимости настройки DLL программирование сложнее.
По причине существенного отличия интерфейса от традиционной асинхронной памяти микросхемы SDRAM не могут быть установлены в модули SIMM; они применяются в DIMM или устанавливаются прямо на системную (или графическую) плату. Интерфейс DDR SDRAM сильно отличается и от обычных микросхем SDRAM.Возможность использования этих типов памяти определяется чипсетом системной платы. Память SDRAM в конце 90-х годов стала самой распространенной, поддержка DDR SDRAM появилась лишь сравнительно недавно.