Микросхемы Low-Latency DRAM от GSI Technology
Введение
Разработчиком технологии Low-Latency DRAM является компания Infineon, и сама технология более известна как Reduced-Latency DRAM (RLDRAM). Еще в далеком 1999 году Infineon выпустила первую микросхему RLDRAM-I. Позже к разработке присоединилась Micron, и в 2003 году они совместно анонсировали спецификацию RLDRAM-II. Впоследствии Infineon отказалась от продолжения работ по созданию RLDRAM, и в том же году Micron начала продажи первых образцов RLDRAM-II.
Монополия в этом семействе не могла устроить крупнейших производителей телекоммуникационного и сетевого оборудования. В связи с чем в 2011 году GSI Technology наладила выпуск LLDRAM-II по спецификации RLDRAM-II. Все микросхемы LLDRAM-II являются полными физическими и функциональными аналогами RLDRAM-II, и для каждой микросхемы RLDRAM-II найдется аналог в семействе LLDRAM-II.
Микросхемы семейства LLDRAM (или псевдо-SRAM) обладают большей емкостью и более короткой задержкой в сравнении с обычной DRAM. Такой же простой, как у SRAM, интерфейс LLDRAM значительно облегчает работу с ней. LLDRAM (рис. 1) используется для Look-up-таблиц и буферов очередей сетевого оборудования, обработки видеоизображения, а также для выполнения любых других задач, в которых необходима высокая скорость случайного доступа к данным, превышающая возможности DRAM, и объем памяти, недостижимый для SRAM.
LLDRAM-II состоит из восьми DRAM-банков и высокоскоростного интерфейса DDR (double data rate), который обеспечивает высокую пропускную способность данных. DDR-интерфейс пересылает x9/18/36‑битные слова данных пакетами по два, четыре или восемь слов. Аппаратная система подстройки по задержке Delay-Locked Loop (DLL) и сигнал тактирования операций чтения позволяют реализовать более надежную схему съема данных. Полоса пропускания LLDRAM-II поддерживает скорость передачи данных до 38 Гбит/с на 36‑битной шине и частоте тактирования 533 МГц. Малая задержка LLDRAM-II и время доступа tRC = 15 нс обеспечивают высокую скорость случайного доступа во всем адресном пространстве. Основные возможности LLDRAM-II сведены в таблицу 1.
Порты |
Размер |
Время случайного |
Частота тактирования, |
Объем, |
Партномер |
Общий I/O |
2,4 и 8 |
15 нс |
533 МГц, |
288 |
GS4288C |
576 |
GS4576C |
||||
Раздельный I/O |
533 МГц, |
288 |
GS4288S |
||
576 |
GS4576S |
К дополнительным преимуществам LLDRAM-II следует отнести наличие встроенной терминации On-Die Termination (ODT), возможность выбора адресации за один или два тактовых цикла, один общий или два раздельных порта данных, программируемый выходной импеданс и питание ядра 1,8 В. Эти опции расширяют универсальность LLDRAM-II, улучшают баланс между операциями чтения и записи, снижают количество конфликтов при переключении шины данных и упрощают процесс разработки печатной платы.
Тактирование
Тактирование в LLDRAM-II выполняется по дифференциальной мастер-паре CK и CK#. В идеальном случае фазы этих сигналов разнесены на 180° относительно друг друга так, чтобы пересекали VREF в одной точке (рис. 2). При этом будет сбалансировано временное окно для чтения каждого слова. Сигналы CK и CK# могут быть сгенерированы IP-контроллером внутри ПЛИС или Network Processor Unit (NPU) или заданы внешним отдельным генератором. Для захвата адреса и команды управления используется возрастающий фронт CK.
Для тактирования операций записи данных в LLDRAM-II используются оба возрастающих фронта дифференциальной пары DK и DK#. Для x36-архитектуры применяются две дифференциальные пары: DK0/DK0# для линий DQ0–DQ17 и DK1/DK1# для линий DQ18–DQ35. Для тактирования LLDRAM-II с архитектурой x9 и x18 предусмотрена только одна пара — DK и DK#. Для гарантии считывания данных до того, как они будут перезаписаны, необходимо, чтобы период времени между точками пересечения CK/CK# и DK/DK# не превышал tCKDK. Например, для –25 вариации LLDRAM-II tCKDK = [–0,45; 0,5] нс. В LLDRAM-II допускается использование CK/CK# вместо DK/DK#, но следует учитывать дополнительную нагрузку на CK-пару.
Для тактирования операций чтения данных из LLDRAM-II используется независимая дифференциальная пара QK и QK#. Эти сигналы генерируются самой LLDRAM-II и фронтами выравнены с выходными данными. Для х36‑архитектуры QK0/QK0# соответствуют DQ0–DQ17, а QK1/QK1# соответствуют DQ0–DQ35. Для х18‑архитектуры QK0/QK0# соответствуют DQ0–DQ8, а QK1/QK1# соответствуют DQ9–DQ17. Для х9 все линии DQ выровнены с QK0/QK0#. Период времени между парой QK/QK# и данными на выходе DQn обозначается как tQKQ0 и tQKQ1 соответственно. Для x36 и x18 допускается, но не рекомендуется использовать только одну пару QK/QK#. Сигналы QK/QK# синтезируются из СK/СK# с небольшой ошибкой, значение которой можно узнать в datasheet.
Использование дифференциальных пар создает более благоприятные временные условия для работы с сигналами, что особенно важно на высоких скоростях. Благодаря сопоставлению двух противоположных сигналов возможен быстрый захват фронтов. Чтобы получить максимум преимуществ из этой схемы, следует минимизировать перекос временной диаграммы, вызываемый несогласованием импедансов, различной длиной сигнальных линий и топологией печатной платы.
Существует возможность обойтись только одним сигналом тактирования в каждой паре, получив второй псевдодифференциальный сигнал путем инвертирования относительно VREF. Особенно это актуально для систем, в которых имеется несколько LLDRAM-II. Платой за такие манипуляции станет ухудшение временных характеристик, поскольку тактовые переходы будут привязаны к постоянному напряжению, а не к дифференциальному сигналу.
Система подстройки по задержке
Система подстройки по задержке (DLL) предназначена для выравнивания данных при чтении с тактовыми сигналами QK и QK#. Существуют некоторые ограничения на использование DLL:
- на вход DLL должны поступать CK и CK#, очищенные от джиттера. Допустимое значение джиттера указано в datasheet;
- после остановки мастер-сигналов тактирования CK/CK# или сброса DLL необходимо выждать 1024 цикла для стабилизации DLL;
- сброс DLL необходимо производить каждый раз после изменения tCK или VDD. После сброса необходимо выждать 1024 цикла прежде, чем инициировать команду чтения;
- минимальная частота CK и CK# для стабильной работы DLL составляет 175 МГц для всего семейства LLDRAM-II. Если частота опустится ниже предельной, блок DLL необходимо отключить, так как критически увеличивается его джиттер и DLL больше не может выполнять свою функцию и будет вносить погрешность.
Шина адреса
Ширина шины адреса LLDRAM-II определяется не только конфигурацией (x9/18/36) микросхемы, но и регистром Mode Register Set (MRS). Пятый бит (M5) регистра MRS определяет режим работы LLDRAM-II. Если M5 = 0, тогда LLDRAM-II действует в режиме Non-multiplexed и полный адрес записывается за один цикл; если M5 = 1, то LLDRAM-II работает в режиме Multiplexed и адрес записывается за два тактовых цикла. Применение Multiplexed-режима позволяет сократить число занятых линий шины адреса вдвое. На первом тактовом цикле будет записана команда и выбран банк памяти, на втором — выполнена команда и записан адрес ячейки.
Ширина пакета данных Burst length (BL) также влияет на ширину адреса. Если выбрана BL = 2, тогда для выполнения burst-операции необходим один внутренний бит адреса. Оставшиеся биты (A[0:20] для х9; A[0:19] для x18; А[0:18] для x36) используются для контроля — какая из двух порций данных доступна. Если выбрана BL = 4, то понадобится еще один внутренний бит адреса и самый важный внешний бит становится незначимым (Don’t care), эффективно уменьшая на 1 количество применяемых внешних линий адреса. При выборе BL = 8 используется три внутренних бита адреса, и уже два внешних наиболее значимых бита становятся незначимым. В таблице 2 показано, какие линии адреса используются для BL в зависимости от конфигурации LLDRAM-II 288 Мбит.
Burst Length |
Архитектура |
||
x36 |
x18 |
x9 |
|
BL = 2 |
A[18:0] |
A[19:0] |
A[20:0] |
BL = 4 |
A[17:0] |
A[18:0] |
A[19:0] |
BL = 8 |
NA |
A[17:0] |
A[18:0] |
Порты данных
LLDRAM-II доступны в двух версиях: с отдельными портами для записи и чтения данных Separate I/O (SIO) и одним портом, предназначенным для записи и для чтения Common I/O (CIO). SIO доступна для LLDRAM-II с архитектурой x9 и х18. CIO предусмотрена для всех архитектур LLDRAM-II и требует дополнительного тактового цикла на переключение между операциями чтения и записи.
Для систем, в которых операции чтения и записи следуют друг за другом примерно в одинаковом соотношении, лучшей эффективностью будут обладать LLDRAM-II SIO. Для систем, в которых выполняется большое количество операций чтения, а затем большое количество операций записи, лучшей эффективностью обладают LLDRAM-II CIO. При использовании CIO снижается скорость доступа к данным, однако повышается эффективность применения шины данных.
Перезаряд ячеек
В LLDRAM-II так же, как и в обычной DRAM, необходимо полностью перезаряжать все ячейки через каждые 32 мс. Для этого предназначена команда Auto Refresh (AREF), и выбирается только номер банка. Перезаряд начинается со случайной ячейки. После обновления некоторого количества ячеек инкрементируется счетчик адреса внутреннего контроллера для следующей команды AREF. Во время выполнения перезаряда адреса на внешней шине игнорируются. Благодаря тому что нет необходимости в использовании внешней адресной шины для перезаряда ячеек, не расходуется электроэнергия на ее переключение и уменьшается общая потребляемая мощность LLDRAM-II. AREF-команда не отличается от других, и задержка на выполнение следующей команды к одному и тому же банку составляет минимум tRC, которая также остается неизменной для режима Multiplexed. В режиме Multiplexed очередная команда AREF может выполняться на следующем тактовом цикле.
Банки памяти
Восьмибанковая архитектура LLDRAM-II увеличивает вероятность того, что какой-то из банков окажется свободным для новой операции, благодаря этому повышается максимальная пропускная способность. Также существует взаимосвязь между BL и конфигурацией LLDRAM-II. Значение tRCопределяет частоту, с которой банк снова освободится, в то время как BL определяет, с какой частотой необходимо задавать новый адрес.
Режим записи адреса Multiplexed
По умолчанию LLDRAM-II работает в режиме Non-multiplexed, который выполняет запись адреса LLDRAM-II за один тактовый цикл, как и обычная SRAM. Кроме этого, LLDRAM-II может действовать и в режиме Multiplexed и записывать адрес за два цикла наподобие традиционной DRAM.
В первом адресе (Ах) записывается команда и адрес банка (рис. 3).
На следующем тактовом цикле записывается адрес ячейки (Аy) данных и выполняется команда. Режим Multiplexed приводит к увеличению задержки на выполнение операций чтения и записи, однако tRC при нем остается неизменным.
Напряжение питания
Для питания LLDRAM-II необходимо пять источников напряжения: VDD, VEXT, VDDQ, VREF, VTT, которые обеспечивают работу ядра, портов записи и чтения, опорного напряжения и схемы терминации (ODT). Для питания ядра LLDRAM-II нужен источник напряжения VEXT = 2,5 В и VDD = 1,8 В. Напряжение питания выходного буфера VDDQ не должно превышать VDD и обычно равно 1,5 или 1,8 В. Напряжение VREF и VTT должно равняться половине от VDDQ.
VDD и VEXT должны быть выставлены до подачи VDDQ, VREF или одновременно. VTT подается одновременно с VDDQ или позже. Между VDD и VEXTне существует никакой взаимосвязи, и LLDRAM-II начнет работу по подключению остальных напряжений только после того, как они оба выйдут на номинальное значение. Тактирование можно подавать сразу после стабилизации всех напряжений. Для гарантированно стабильной работы LLDRAM-II необходимо выждать минимум 200 мкс после стабилизации напряжений.
Для работы с 1,8‑В HSTL-логикой допускается повышение напряжения VDDQ до 1,8 В, но не выше, поскольку превышение допустимого значения приведет к чрезмерному потреблению тока портами записи и чтения.