Микросхема синхронной динамической памяти SDRAM (Synchronous DRAM) представляет собой конвейеризированние устройство. По составу сигналов интерфейс SDRAM близок к обычной динамической памяти: кроме входов синхронизации есть мультиплексированная шина адреса, линии RAS#, CAS#, WE#, CS# и линии данных. Все сигналы стробируются по положительному перепаду синхроимпульсов, комбинация управляющих сигналов в каждом такте кодирует определенную команду. С помощью этих команд организуется та же последовательность внутренних сигналов RAS и CAS, которая применяется в памяти FPM.
Данные для первой передачи пакета записи устанавливаются вместе с командой WR. Данные для остальных передач пакета передаются в следующих тактах. Первые данные пакета чтения появляются на шине через определенное количество тактов после команды. Это число, называемое CAS Latency (CL), определяется временем доступа TCAC и тактовой частотой. Остальные данные пакета выдаются в последующих тактах. Регенерация, т.е. цикл CBR c внутренним счетчиком адреса регенерируемой строки) выполняется по команде REF, которую можно вводить только при состоянии покоя (idle) всех банков.
Микросхемы SDRAM оптимизируются для пакетной передачи. У них при инициализации программируется длина пакета на количество элементов, порядок адресов в пакете и операционный режим. Пакетный режим может включаться как для всех операций, так и только для чтения. Этот выбор позволяет оптимизировать память для работы с кэшем.
Память DDR SDRAM представляет собой дальнейшее развитие SDRAM. Как следует из названия (Dual Data Rate – eудвоенная скорость данных), у микросхем DDR SDRAM данные внутри пакета передаются с удвоенной скоростью – они переключаются по обоим фронтам синхроимпульсов. На частоте 100МГц DDR имеет пиковую производительность 200 Мбит/с на вывод, что в составе 8-байтных модулей DIMM дает производительность 1600 Мбайт/с. На высоких тактовых частотах (100 Мгц и более) двойная синхронизация предъявляет очень высокие требования к точности временных диаграмм. Для повышения точности синхронизации предпринят ряд мер.
? Сигнал синхронизации микросхемы подается в дифференциальной форме по двум линиям CLK и CLK#. Это позволяет снизить влияние смещения уровней на точность определения момента синхронизации – дифференциальный приемник срабатывает в момент равенства уровней напряжения.
? Для синхронизации данных в интерфейсе введен двунаправленный стробирующий сигнал DQS. Стробы генерируются источником данных: при операции чтения – микросхемой памяти, при записи – контроллером памяти (чипсетом). При чтении фронты и спады этого сигнала точно центруются в моменты смены данных, приемник должен стробировать данные с небольшой задержкой относительно переключений DQS. При записи фронты и спады центруются точно посередине окна действительности данных и масок.
? Для синхронизации DQS с системной тактовой частотой микросхемы имеют встроенные схемы DLL (Delay Locked Loop) для автоподстройки задержки сигнала DQS относительно CLK. Эта схема работает наподобие фазовой автоподстройки и способна выполнять синхронизацию только в ограниченном диапазоне частот синхронизации.
Есть микросхемы DDR с возможностью отключения схем DLL; для этого они имеют дополнительный расширенный регистр режима. Отключение DLL необходимо при снижении тактовой частоты в целях энергосбережения. При отключенной схеме DLL стробы DQS не привязаны к синхросигналу CLK, и разных микросхем, работающих в одной системе, они будут иметь разные частоты.
В микросхема DDR данные для записи подаются с задержкой на один такт. Значение CAS Latency может быть дробным.
