Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта

ЗАО "Техно-СПб" Системная интеграция

SLDRAM: архитектура и функционирование


Продолжение, начало в ╚КИ╩ ╧15/2001

Материал любезно предоставлен сайтом iXBT.com

Интереснейшим моментом является процедура установки тайминга. Контроллер программирует каждый прибор SLDRAM четырьмя тайминговыми параметрами: к упоминавшейся ранее задержке для записи страницы и задержке для чтения страницы добавляются еще задержка чтения из банка (Bank Read Latency) и задержка записи в банк (Bank Write Latency). Понятие ╚задержка╩ (Latency) в данном случае определяется как промежуток времени между пакетом команды и началом ассоциируемого с командой пакета данных. Для согласованного функционирования подсистемы памяти рекомендуется программировать каждый прибор SLDRAM таким образом, чтобы получать равные значения для четырех различных задержек, начиная от выводов контроллера SLC. Возникновение различных значений задержки прохождения сигнала через микросхемы памяти, расположенных на различных участках шины, а также присутствие или отсутствие буферов и варьирование параметров различных приборов SLDRAM, может в значительной степени различать программируемые параметры. При выполнении программы восстановления активности (постинициализация) регистры, хранящие параметры задержек (SLDRAM Latency Registers), устанавливают минимальные значения, предусмотренные программой предустановки производителя (внутренний блок хранения параметров, или внешние микросхемы SPD, или PROM). Контроллер может ╚наблюдать╩ за откликами каждой микросхемы SLDRAM и затем делать соответствующую регулировку для выполнения последующей операции. Задержка чтения (Read Latency) регулируется грубыми приращениями длительности ╚тика╩ и точными приращениями дробных значений длительности ╚тика╩. Контроллер моментально запрограммирует грубые и точные значения задержки чтения для каждого прибора памяти, учитывая электрическую разницу дистанций между микросхемами, как только пакеты чтения вернутся обратно к контроллеру с одинаковой задержкой от момента поступления пакета команды. Задержка записи (Write Latency) настраивается только грубыми приращениями. Значение Write Latency определится сразу после того, как конкретная микросхема начнет поиски синхросигнала DCLK для стробирования записи данных.

Теперь рассмотрим на примере упоминавшейся ранее микросхемы SLD4M18DR400 с внутренней организацией 8x{1024х128x72} пакет команды, представляющий собой четыре 10-разрядных слова. Так, пакет команд содержит 40 бит информации, в пределах которой должны определяться приборы различной организации и емкости. Структура пакета представляет собой 3 бита адреса банка (BNK[2:0]), 10 бит адреса строки (ROW[9:0]) и 7 бит адреса столбца (COL[6:0]). Сразу после включения питания контроллер памяти выполняет ╚сквозной прострел╩ (Pool, пул) приборов SLDRAM с целью определения организации каждой микросхемы (количество банков, строк и столбцов). Тогда контроллер уже может включать в конкретный пакет команды, предназначенный для конкретной микросхемы памяти, соответствующее количество адресных бит, определенное пулом.

Таблица 1.

Первое слово пакета команд содержит биты идентификации микросхемы (Chip ID Bits), так что если любая проходящая команда содержит не тот локальный ID, микросхема ее просто проигнорирует. Идентификационный номер назначается непосредственно контроллером
в момент подачи питания, используя пару SI/SO, что позволяет применять ╚сквозные╩ транзакции без необходимости индивидуальных командных сигналов для конкретного прибора памяти или дополнительной логики. Первые 8 бит идентификатора позволяют адресовать до 256 (максимум) приборов SLDRAM на одной иерархической шине данных (Hierarchical DataLink). Бит 9 поля идентификатора используется для мультикаста, который позволяет адресовать одной командой любые группы микросхем по 2, 4, 8, 16, 32, 64, 128 или все 256 приборов для процессов инициализации, регенерации и конфигураций с использованием нескольких множественных шин данных.

Поле команды содержит 6 бит. Когда определяющий бит CMD5 содержит 0, выполняются нормальные команды чтения или записи. Выбор операции адресации банка или страницы, длины пакета, чтения или записи, авторегенерации и стробирования (DCLK) независим. Доступ к странице требует, чтобы банк был открыт. Когда CMD5=1, происходит выбор операций со строкой, доступ к регистру или команд специальной синхронизации.

Таблица 2.

Так как индивидуальные приборы памяти не требуют ╚встречных╩ жестких соответствий параметров по постоянному и переменному току, микросхемы калибруются на системном уровне для возможности более широкой индивидуальной параметрической настройки. Так, инициализация и синхронизация проходит 7 ступеней от момента подачи питания до момента начала нормального функционирования памяти.

На вывод сброса (переопределения) подается сигнал RESET# активного низкого уровня ≈ ступень обнуления параметров, называемая ╚жестким сбросом╩ (Hard Reset). Это позволяет обнулить установленные ранее значения внутренней синхронизации, установить внутренний регистр идентификации в значение 255, выход SO в низкий уровень.

Поскольку фронты и срезы команд (CA[9:0]) и данных (DQ[17:0]) синхронизированы со своими синхрогруппами (CCLK и DCLK соответственно), каждый прибор памяти должен внутренне согласоваться с фазой входящего тактового сигнала, чтобы скорректировать прием данных при помощи посылаемого в фазе настройки контрольного пакета (образца, шаблона). Для начала второй ступени, именуемой записью параметров синхронизации, контроллер начинает непрерывно передавать синхросигналы CCLK и DCLK, установив при этом сигнал выбора выхода в высокое состояние (SO=1). По линиям сигналов DQ[17:0], CA[9:0] и FLAG контроллер начинает передавать инвертированную (Inverted) и неинвертированную (non-Inverted) версии 15 бит повторяющейся псевдослучайной синхронной (SYNC) последовательности ≈ 000010100110111 и 111101011001000 соответственно. Приборы памяти ╚признают╩ эту последовательность по двум идущим подряд битам флага (FLAG). После этого микросхемы определяют оптимальные параметры внутренней задержки для синхросигналов CCLK и DCLK (DCLK0 и DCLK1), чтобы оптимизироваться под известный образец. Далее прибор памяти синхронизируется и программирует задержки, определенные в предыдущем шаге для CCLK, DCLK0 и DCLK1, ╚выровняв╩ состояния выборов входа и выхода (SI=SO). Контроллер перестает посылать образец, как только выбор входа установится в активное состояние (SI=1). После этого происходит ╚сброс╩ выходов (SO=0) для всех приборов памяти.

Таблица 3.

Далее контроллер устанавливает еще раз SO=1 и посылает команду записи регистра идентификации со значением ╚0╩. Ответит на эту команду только прибор памяти, имеющий активный вход (SI=1) и идентификатор ID=255. Таким образом, эта микросхема памяти перезапишет в свой регистр идентификации значение ╚0╩ и установит SO=1. Контроллер повторит команду записи регистра идентификации, но уже со значением ╚1╩. После этого, перебросив SI в высокий логический уровень, закроет третью ступень, выполняемую для назначения персонального идентификатора.

Следующая, четвертая ступень калибровки высокого и низкого уровней напряжения, соответствующих логическим ╚1╩ и ╚0╩ соответственно, выполняется контроллером. Контроллер калибрует выходные уровни SLDRAM, посылая каждой микросхеме указания определить уровень соответствующих логических значений по постоянному току. После этого контроллер выставит подходящие значения инкремента/декремента уровней VOL/VOH напряжений, подогнав существующие значения под опорные. Например, если обнаружилось положительное отклонение от номинального (опорного) значения на 7%, то контроллер выставит как минимум 2% декремент, чтобы ╚уложиться╩ в схему.

Ступень определения тайминга синхронизации выполняется в продолжение второй ступени. Контроллер формирует команду для каждого прибора памяти передавать совместно с непрерывным сигналом DCLK тот самый 15-разрядный псевдослучайный синхронизирующий образец по линиям данных. Контроллер выверяет позицию принятых бит, сравнивая относительно желаемой, и выравнивает значения инкрементированием верньера чтения данных SLDRAM.

Теперь для каждого прибора памяти контроллер выставляет на шину команду чтения, после чего производит постоянный мониторинг специального сигнала DCLK, который сопровождает передачи пакетов данных для выявления задержки чтения ≈ шестая ступень, предназначенная для калибровки параметра задержки чтения. После того как минимальные значения задержек измерены для каждой микросхемы, выбирается одно подходящее значение (обычно это минимальное значение задержки самого медленного прибора памяти) и программируется для каждого прибора SLDRAM, записывая установленное значение в один из регистров значений задержки чтения.

Далее, после определения задержки чтения, контроллер посылает к каждой микросхеме памяти команду записи с нулевой задержкой записи (Zero Write Latency) и передает расширенный 32N-пакет. Данные, содержащиеся в каждом последующем слове записываемого пакета, инкрементируются по схеме 0, 1, 2, 3,... 31. После выполнения команды записи контроллер начинает считывать обратные пакеты. Первое слово содержит минимальную задержку чтения. Учитывая эту информацию, контроллер может установить значения задержек записи для всех приборов памяти и объединить их в одно значение, которое будет записано в один из регистров значения задержки записи. На этом заканчивается процесс согласования и калибровки подсистемы памяти, и она готова для нормального функционирования. Однако в течение нормального функционирования откалиброванные тайминги и уровни напряжения могут смещаться из-за влияния температуры и нестабильности значения напряжения питания. Поэтому каждый прибор памяти должен периодически осуществлять рекалибровку, чтобы обеспечивать стабильную работу. Процесс рекалибровки ╚прозрачен╩, поскольку скрывается в периодах выполнения авторегенерации и саморегенерации, что никак не отражается на производительности системы.

Реалии технологии SLDRAM

Рассмотрим ключевые моменты функционирования системы SLDRAM ≈ источник синхронизации ≈ и методы верньерного согласования интерфейса. Поскольку на данный момент нет полностью рабочих систем SLDRAM, то в качестве примера рассмотрим эксперимент, проведенный совместной исследовательской группой подразделений Mitsubishi Electric, Hyundai Electronics и IBM Microelectronics.

Интерфейс SLDRAM представляется установкой, включающей экспериментальный чип и системную плату эмуляции, на которую устанавливаются несколько эмулированных SLDRAM-модулей. Экспериментальный чип упакован в стандартный тип корпуса и установлен на стандартном PCB-модуле. 16-битовый интерфейс чипа рассчитан на пропускную способность 600 Mbps/p (1,2 ГБ/с) и частоту синхронизации 300 МГц.

Рисунок

Таблица 4.

Cигнальный интерфейс SLDRAM базируется на SSTL-подобной топологии, что дает возможность использования схемы с двухтактным выходным каскадом (Push-pull Drivers) и терминирования шины в один конец, чтобы генерировать небольшой ╚двусторонний╩ размах сигнала (╠0.35 В) относительно уровня опорного напряжения (1,25 В). Топология шины использует серию коротких резисторов, чтобы снизить взаимное влияние соседних линий SLBus на материнской плате и на модуле памяти, а также улучшить целостность сигнала. Это делается для того, чтобы интерфейс SLDRAM мог использовать топологию шинного соединения, применяемую в многокристальных и многоканальных модульных системах.

Интерфейс SLDRAM использует источник синхронизации и цепи верньерного согласования для высокоскоростной передачи данных без ошибок. Под источником синхронизации понимается устройство, которое передает данные на шину и управляет синхросигналами, стробирующими команды и данные. Эти синхросигналы данных используются, чтобы выровнять согласование данных в приемнике. Верньер согласования ≈ программируемая единичная (чем меньше числовое значение, тем точнее отсчет) задержка, обеспечивающая точную балансировку временных параметров, чтобы в конечном итоге устранить разность фаз между модулями SLDRAM, расположенными на различном расстоянии от контроллера. С момента поступления на соответствующие шины синхросигнала шины команд и начала передачи команды внутри чипа формируется задержка сигнала CCLK для определения уровня дискретизации на входе и уменьшения влияния шумов (Noise Immunity). Внутренняя цепь подстройки задержки сигнала (DLL) устанавливает определенную длительность периода CCLK (tCK=3.3 нс в случае синхронизации на 300 MГц) и обеспечивает его ╚разбиение╩ на 32 равных временных промежутка ≈ дискретизацию по фазе (Clock Phases Spanning). Результатом использования простейшей цепи DLL с фиксированными элементами задержки может являться искажение выполнения текущей операции под воздействием изменения окружающей температуры или вариаций питающего протокола, что может повлечь за собой формирование целой серии задержек от одного элемента к другому. Эта проблема решается при помощи 32-ступенчатой линии задержки (32-stage Delay Line), ╚разбивающей╩ длительность периода задержки на 32 одинаковых временных интервала, каждый их которых определяет минимально возможную единичную опорную задержку или минимально возможный единичный сдвиг по фазе ≈ минимальный шаг верньера.

Применяемый в микросхеме 6-разрядный выходной ЦАП (DAC═≈ Digital-to-Analog Converter) с токовым выходом и индивидуальным регистром управления (размером 6 бит) гарантирует подачу опорного тока для всех 32 ступеней задержки. В момент входа микросхемы в режим деактивации 6-разрядное значение удерживается для немедленного возврата в активное состояние по требованию. Настоящий ЦАП, представляющий собой матрицу полевых транзисторов (FET), контролируемую термодатчиком, декодирует управляющее слово длиной 6 бит, сначала включая устройства из трех младших бит, контролируемые строкой, а затем ≈ из трех старших, контролируемых столбцом. Первый полевой транзистор, который всегда активен, имеет соотношение W/L=1, и как только все устройства включатся, суммарный ток возрастает с коэффициентом S=1.055. Для обеспечения постоянного соотношения длительности задержки между изменением температуры и вариациями напряжения, в ЦАП используется нелинейная передаточная функция, которая обеспечивает изменение тока в диапазоне 1-26.6 по геометрической зависимости.

Схема внутренней синхронизации определяет фазу настройки цепей микросхемы относительно задающего синхросигнала CCLK. Во избежание искажений выполнения текущей операции, которые могут возникнуть во время прохождения сигнала от одного ответвителя к другому, цепь задержки сигнала содержит одинаковые параметры для всех ответвителей. Так, во время выполнения фазы инициализации выбирается первый ответвитель, реализующий виртуальный нулевой сдвиг по фазе (Virtual 0╟ Tap), соответствующий внешнему CCLK . Шестиступенчатая задержка ввода компенсирует задержку синхросигнала, возникающую как на входных буферах, так и в процессе распространения по сигнальной трассе, поэтому в цикле инициализации управляющий ток для этой задержки устанавливается в среднее значение диапазона на соответствующий элемент. В течение выполнения операции компенсации от возникновения температурных колебаний или флуктуаций напряжения задержка ввода устанавливается на уровне первой ступени цепи автоподстройки и поддерживается в фазе с внешним синхросигналом шины команд. Таким образом, 32-ступенчатая линия четко обеспечивает полную задержку, равную длительности периода CCLK, и постоянно поддерживает согласование по фазе с формирователем внешнего синхросигнала шины команд.

Соответствующая линия задержки для каждого входа синхросигнала шины данных DCLK использует те же контрольные биты ЦАП, что и CCLK. С момента, когда пары синхрогруппы DCLK используются только в режиме записи пакетов данных, любая возникающая задержка на данных входах, вызванная вариациями напряжения или температуры, компенсируется цепью DLL, выравнивающей фронты DCLK относительно опорного CCLK. В дополнение необходимо заметить, что несколько разных выходов берут свое начало от рассматриваемой цепи линии задержки сигнала: основной задатчик синхронизации CCLKH, который администрирует цепи управления и ядро ДОЗУ, командный вход модели синхронизации CLK_CAL, используемый для формирования псевдослучайного шаблона, READ_CLK, использующийся для настройки задержки точного верньера, и пара RD_CLK0/RD_CLK1, применяемая для независимой настройки двух исходящих синхросигналов. Собственно, верньерное согласование представляет собой некое подобие юстировки. В фазе синхронизации контроллер посылает стробирующие сигналы совместно с шаблонами по линиям команд и данных, вычисляя временное смещение (разность фаз между синхроимпульсом и сопоставляемым ему битом команд или данных) ≈ опережающее/запаздывающее ╚тау╩. Как только разность определена, контроллер формирует фазовую компенсацию ≈ верньер определенной длительности. После того как выполнено соответствующее смещение (на длительность верньера) настраивающегося сигнала команд или данных относительно стробирующего импульса, контроллер снова выполняет мониторинг согласования. Фазовые смещения сигналов на линиях могут иметь очень разные значения, а верньер имеет точные программируемые, поэтому с первого раза 100% согласования может не произойти. В этом случае контроллер повторит фазовую подстройку, но уже верньером меньшей длительности. Такая процедура настройки происходит для всех линий команд, данных и линии флага. Как только все сигналы ╚выровнялись╩, контроллер прекращает посылать шаблон. SLBus использует различную методику калибровки выходного уровня для настройки уровня сигнала и поддержания его целостности, основанную на ряде импедансных характеристик всей сети устройств. Высокий (VOH) и низкий (VOL) выходные уровни изменяются непосредственно контроллером, который также обеспечивает передачу команды программирования верньера согласования к каждому чипу SLDRAM.

Рисунок

Для проведения эксперимента был использован чип с ╚урезанным╩ интерфейсом. Первичная цель этого эксперимента состояла в том, чтобы проверить интенсивность передачи данных по интерфейсу микросхемы SLDRAM, поэтому были реализованы только функции управления и приема данных. Таким образом, чип включает блок генерирования синхросигналов, блок формирования верньеров и цепи тракта данных ≈ никаких прямых функций памяти и пакетизирования операций управления не обеспечивается. Также, для упрощения системы, чип является эмулятором как контроллера, так и самой микросхемы SLDRAM. Дополнительные тестовые функции измеряют такие характеристики передачи сигнала, как перекрестные помехи (Crosstalk) и одновременное переключение (Simultaneous Switching). Весь интерфейс SLBus в данном случае включает 16 линий ввода/вывода данных (DQ[15:0]) и линию синхронизации, выведенные с одной стороны чипа, а выводы тестового интерфейса расположены с другой. Программа верньерной синхронизации и калибровки выходного уровня осуществляется исключительно таким ╚усеченным╩ интерфейсом, а не командными пакетами. Для снижения уровня взаимного влияния ЭМИ чип упакован в корпус TSOP, оснащенным специальным non-LOC-выводным окном для уменьшения собственной длины выводов. До начала передачи данных чип входит в режим отправителя (чтение из массива) или получателя (запись в массив), выбор которого осуществляется выбором сигнала тестового интерфейса. В режиме чтения согласование вывода данных определяется задержанным синхросигналом на входе задающего генератора. Значение задержки программируется непосредственно верньером, поэтому синхронизация вывода данных программируется также верньером. Образцы данных подаются блоком тестирования через тестовый интерфейс: интерференционный образец и образец одновременного переключения могут быть сгенерированы, используя этот интерфейс ввода. В режиме записи данные запираются в чипе синхросигналами шины данных и посылаются в блок тестирования для оценки. Поскольку источник синхронизирует передачу данных, то одновременное управление всеми синхросигналами и линиями данных осуществляется в режиме чтения. Внутренний синхросигнал цепи верньерной синхронизации подается на формирователь тактовых импульсов и на каждый вывод DQ[15:0]. Перекос между моментом начала действия синхроимпульса данных и поступлением данных на выводы выходов DQ[15:0] контролируется в пределах 60 нс. Калибровка уровня сигнала на выходе происходит исходя из значения удельной проводимости формирователя согласно запрограммированным данным VOH/VOL в соответствующий регистр управления. В режиме записи коммутируемый синхросигнал на каждый входной буфер линии DQ[15:0] должен быть синхронизирован с каждым сигналом данных. Сдвиг коммутируемого синхросигнала получается путем отслеживания таймингов задающего синхросигнала. Идеальной задержкой синхронизации является четверть длительности цикла синхросигнала формирователя (половину ╚тика╩) ≈ tCK/4. Цепь фазового сдвига в рассматриваемом чипе реализует временной перекос в 70 нс.

Результаты
эксперимента

При синхронизации в 300 МГц удалось добиться скорости передачи данных 1,2 ГБ/с (600 Mbps/p) при использовании внутреннего источника синхронизации и верньерного согласования. Исследования показывают, что вся система целиком если и будет обеспечивать падение производительности, то крайне низкое. Текущий интерфейс SLBus обладает хорошими характеристиками и помехозащищенностью, что в лабораторных условиях гарантирует минимальную пропускную способность 800═Mbps.


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи ╧ 19'2001 || Новости СПб || Новости России || Новости мира

Анкета || Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл ╧ 77-4461 от 2 апреля 2021 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 118-6666, 118-6555.
Адрес: 196084, СПб, ул. Коли Томчака, д. 9
Пейджер 238-6931(аб.3365)
e-mail:
Для пресс-релизов и новостей