Компания ЭВРИКА, ведущий партнер компании AVAYA Communication в Северо-Западном регионе, проводит для корпоративных клиентов программу тестирования сетевого оборудования AVAYA

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

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

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


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

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

Запросы на чтение или запись в микросхеме SLDRAM могут быть применены как к незанятым банкам, так и к открытой строке в активных банках. Они предписывают: оставить ли строку открытой после доступа или исполнять самоустановленный цикл регенерации при завершении доступа (авторегенерация).

В микросхеме SLDRAM используются конвейерная архитектура и множественные внутренние банки. Это обеспечивает высокую скорость выполнения операций и высокоэффективное использование протокола. При выполнении доступа к одному банку осуществляется перезарядка другого банка (что обеспечивает высокую скорость произвольного доступа к банкам). За счет независимости структуры логических банков обеспечивается скрытие циклов перезаряда. Способность микросхемы SLDRAM выполнять программу авторегенерации обеспечивается вместе с двумя другими функциями управления питанием: Stand-By (пониженное потребление с готовностью полностью активизировать все цепи) и ShutDown (деактивация). Саморегенерация же выполняется в режиме деактивации.

Так как в SLDRAM используется технология DDR, то был специально введен параметр, характеризующий единичную посылку ≈ ╚тик╩ (Tick) или импульс сигнала, эквивалентный половине периода (цикла) CCLK ≈ tCK/2.

В общем случае длительность периода синхросигнала (Clock Period) разбивается на 4 части:
1.═положительный перепад (tR≈ Rise time) или фронт;
2.═продолжительность импульса (tW ≈ Pulse Duration или Width);
3.═отрицательный перепад (tF≈ Fall time) или срез;
4.═интервал (пауза).

В идеальном тактовом периоде (Clock Period) подразумевается равенство значений длительностей фронта и среза (tR=tF) и равенство значений продолжительности импульса и паузы.

На основе данного равенства и было определено понятие ╚тик╩, представляющее собой сумму длительностей первой и второй (по порядку, указанному выше) или третьей и четвертой составляющих длительности периода синхросигнала (Clock Period). За временной промежуток одной из этих сумм передается единица информации (бит). При использовании технологии DDR за тактовый период (сумма всех 4-х составляющих) передается 2 бита информации ≈ по положительному и отрицательному перепадам (или по фронту и срезу).

Все стробирующие сигналы (применительно к SLDRAM) рассматриваются как CCLK, DCLK0 и DCLK1. Важно понимать, что это дифференциальные тактовые сигналы, и каждый их них имеет дополнительный инверсный сигнал (CCLK#, DCLK0# и DCLK1#). Поэтому любая ссылка к определенному фронту специфического строба имеет в виду реальный синхроимпульс (например, CCLK), а не его дополнение (CCLK#, соответственно).

Рассмотрим описание основных команд микросхемы SLDRAM. Все пакеты команд должны стартовать по положительному перепаду CCLK (по фронту).

Отсутствие операции (NOP ≈ No OPeration)

Высокий уровень сигнала FLAG означает начало запрашиваемого пакета. Затем FLAG переходит на низкий уровень (для продолжения запрошенного пакета). Сразу после перехода FLAG на низкий уровень начинается цикл отсутствия операций (цикл предотвращения конфликтов). В═данном цикле предотвращается выполнение нежелательных команд в течение выполнения текущей операции. Цикл является ╚прозрачным╩ относительно выполняемой операции.

Открытие строки (Open Row)

Используется для активизации строки в конкретном банке для подготовки к выполнению последующей за этим команды доступа к столбцу. Строка остается открытой (активной) для обеспечения доступа до поступления команды закрытия строки (Close Row). После выполнения команды Open Row для данного банка должна быть исполнена команда Close Row ≈ до открытия доступа к другой строке в пределах этого же банка. Команда Open Row может быть полезной, когда ожидается подача команды доступа к странице, но адрес столбца еще неизвестен.

Закрытие строки (Close Row)

Используется для закрытия строки в конкретном банке, когда необходимо закрыть открытую строку, находящуюся в состоянии ожидания доступа к странице.

Чтение (Read)

Команды чтения страницы (Page Read) и чтения из банка (Bank Read) используются для осуществления доступа для чтения открытой или закрытой строк соответственно.

Запись (Write)

Команды записи страницы (Page Write) и записи в банк (Bank Write) используются для осуществления доступа для записи открытой или закрытой строк соответственно.

Чтение из регистра (Register Read)

Используется для чтения содержимого регистров устройства памяти. Данные, поступающие из регистра, передаются по линиям данных после задержки, определяемой значениями, записанными в регистр задержки чтения страницы (Page Read Delay Register), и программирования в микросхему значений точных (Fine Read Vernier) и компенсирующих (Data Offset Vernier) верньеров. Верньер (нониус) является уточняющим параметром. В данном случае ≈ это временной интервал очень маленькой продолжительности (примерно на порядок меньше уточняемой им длительности). То есть, если длительность измеряется единицами наносекунд, то нониус будет иметь длительность в сотни пикосекунд или еще меньше (в зависимости от требуемой точности). Схемы верньерного согласования носят индивидуальный характер для каждой конкретной операции, однако основаны на общей схеме взаимоотношения сигналов, синхронизируемых друг относительно друга. Точный верньер используется для грубой настройки (tCK/8, tCK/4 и tCK/2), а компенсирующий ≈ для более точной (tCK/32 или еще меньше).

Запись в регистр (Register Write)

Используется для записи данных в регистры управления устройства памяти. Данные, записываемые в регистр, включают пакет запроса, содержащий команду.

Чтение образца синхронизации
(Read SYNC/Stop Read SYNC)

Команда, предписывающая устройству памяти начать (закончить) передачу специфического синхронизирующего образца (определенная последовательность логических ╚0╩ и ╚1╩), используемого контроллером для установки входных таймингов.

Установка уровня DCLK (Drive DCLKs Low/High)

Команда установки высокого (низкого) уровня сигналов DCLK в противоположность другому DCLK (дифференциально).

Совмещение DCLK (Drive DCLKs Toggling)

Команда, предписывающая микросхеме SLDRAM совместить выходные уровни сигналов DCLK: DCLKn/DCLKn# будут пересекаться в средней точке (уровень опорного напряжения) каждые tCK/2.

Деактивация DCLK (Disable DCLKs)

Команда перевода линий синхронизации шины данных в высокоимпедансное (High-Z) состояние.

Событие (EVENT)

Используется для выполнения команд, не требующих специфической адресации устройств памяти. Включает ряд процедур, наибольший интерес из которых представляет процедура назначения регистра (данные об определяемых таймингах и служебная информация хранятся именно в регистрах). Микросхема SLDRAM содержит две группы регистров ≈ 128 регистров управления (Control Registers) и 128 регистров состояния (Status Registers).

Таблица наименований регистров и адресации

REG3 REG2 REG1 REG0 Регистры управления Регистры состояния
0 0 0 0 Идентификация Конфигурация
0 0 0 1 Субидентификация Текущие задержки
0 0 1 0 Частота
функционирования
Минимальные
задержки
0 0 1 1 Тест Максимальные задержки
0 1 0 0 Задержка чтения страницы Тест
0 1 0 1 Задержка записи страницы tRAS/tRP
0 1 1 0 Задержка чтения банка tRC1/tRC2
0 1 1 1 Задержка записи банка tRRD/tXSR
1 0 0 0 Зарезервировано tWR/tWRD
1 0 0 1 Зарезервировано tPR/tBR
1 0 1 0 Зарезервировано tPW/tBW
1 0 1 1 Зарезервировано Зарезервировано
1 1 0 0 Зарезервировано Зарезервировано
1 1 0 1 Зарезервировано Зарезервировано
1 1 1 0 Зарезервировано Зарезервировано
1 1 1 1 Зарезервировано Зарезервировано

Первая группа (регистры управления), носящая статус ╚только для записи╩ (Write-Only), имеет логическую ╚ширину╩ 20 бит. Физически же все регистры управления имеют поле 8 бит (или еще меньше), поэтому остаются еще резервные (DtC ≈ Don▓t Care) биты. Для резервирования битовых позиций (для будущих расширений конфигурации) контроллер должен обнулить биты DtC. Данные записываются в регистр управления через шину команды/адреса как часть пакета записи данных в регистр (RWP ≈ Register Write Packet).

Регистр идентификации (ID Register) содержит 9-разрядное поле, устанавливаемое в ╚1╩ (ID=255) после выполнения процедуры аппаратного сброса (RESET#). Затем это поле программируется уникальным номером, определяемым процедурой инициализации. Каждое устройство памяти SLDRAM осуществляет мониторинг шины команды/адреса для определения начала пакета запроса, а затем ≈ сравнения идентификационной информации пакета запроса и собственного идентификационного номера, хранящегося во внутреннем регистре идентификации. Если идентификация проходит успешно, то устройство отрабатывает пакет запроса. Девятый бит поля идентификации пакета запроса позволяет работать с каждым устройством памяти индивидуально или как с частью целой группы микросхем ≈ в режиме многоабонентской доставки или мультикастинга. Для записи в регистр и приема пакетов запроса события (Event Request Packets) значение, содержащееся в регистре субидентификации, должно также совпадать со значением данного устройства памяти.

Регистр субидентификации (sub-ID Register) содержит 4-разрядное поле, которое после выполнения процедуры жесткого сброса устанавливается в ╚1╩ (ID=15) и затем программируется уникальным номером, определяемым процедурой инициализации. Для осуществления процедуры записи в регистр и запроса события устройство памяти (после обнаружения совпадения по значениям, содержащимся в регистрах идентификации) выполняет сравнение значений, содержащихся в теле пакета запроса и во внутреннем регистре субидентификации. При совпадении данных значений устройство памяти отрабатывает пакет запроса. Назначение пятого бита поля субидентификации пакета запроса аналогично назначению девятого бита в регистре идентификации.

Регистр частоты функционирования (Operating Frequency Register). Начиная со второго поколения, устройства памяти SLDRAM способны работать не только на одной конкретной частоте ≈ они могут также динамически (в фазе инициализации) перестраиваться на другую частоту (меньше собственной) в зависимости от имеющегося набора частот генераций микросхем в системе. В пакете, содержащем значения частоты функционирования, есть 8-разрядное поле OF[7:0], которое и определяет частоту функционирования.

Значения битового поля регистра частоты функционирования

OF[7:0] Частота функционирования ╚Линейная╩ пропускная способность
00000001 100 MГц 200 Mbps/p
00000010 200 MГц 400 Mbps/p
00000100 300 MГц 600 Mbps/p
00001000 400 МГц 800 Mbps/p
00010000 500 МГц 1.0 Gbps/p
00100000 600 МГц 1.2 Gbps/p
хх000000 Зарезервировано

Тестовый регистр (Test Register) применяется для тестирования микросхемы памяти и не может быть доступен для записи в режиме нормального функционирования.
Регистр задержки чтения страницы (Page Read Delay Register) предназначен для программирования числа целых ╚тиков╩ (полуциклов или ╚битов╩) между приемом пакета запроса на чтение страницы (Page Read Request Packet) и соответствующим чтением данных. В данном случае, этот 8-разрядный регистр может содержать 0-255 ╚тиков╩. Значение рассматриваемого регистра программируется, исходя из его соответствующего состояния. Записанное в регистр значение может впоследствии модифицироваться посредством инкремента/декремента (увеличения/уменьшения) четкого верньера. Такие модификации отображаются в значениях текущих задержек регистров состояния.

Регистр задержки записи страницы (Page Write Delay Register) используется для программирования числа целых ╚тиков╩ между приемом пакета запроса на запись страницы (Page Write Request Packet) и соответствующей записью данных. Данный 8-разрядный регистр может содержать 0-255 ╚тиков╩ (значение программируется, исходя из соответствующего состояния регистра). Предполагается (но не требуется), что для всех устройств памяти в канале программируется одно и то же значение. Оно устанавливается на основе соотношения значений задержек на чтение и запись.

Регистр задержки чтения из банка (Bank Read Delay Register) применяется для программирования количества целых ╚тиков╩ между приемом пакета запроса на чтение из банка (Bank Read Request Packet) и соответствующим чтением данных. Этот 8-разрядный регистр может содержать 0-255 ╚тиков╩. Значение программируется, исходя из соответствующего состояния регистра. Записанное в регистр значение может впоследствии модифицироваться посредством инкремента/декремента четкого верньера. Такие модификации отображаются в значениях текущих задержек регистра состояния.

Регистр задержки записи в банк (Bank Write Delay Register) служит для программирования количества целых ╚тиков╩ между приемом пакета запроса на запись в банк (Bank Write Request Packet) и соответствующей записью данных. Данный 8-разрядный регистр может содержать 0-255 ╚тиков╩. Значение программируется, исходя из соответствующего состояния регистра. Различные значения могут быть запрограммированы в разные микросхемы памяти по одному каналу. Значение устанавливается согласно соотношения между задержкой на чтение и задержкой на запись.

Группа регистров состояния имеет свойство ╚только для чтения╩ (Read-Only) и 72-битовую логическую разрядность. Физически же они имеют ╚ширину╩ 32═бита, поэтому остальные резервные биты при чтении имеют значения ╚0╩. Данные из этих регистров считываются пакетами по четыре (BL=4) после промежутка, равного задержке чтения текущей страницы (tRP или tAA ≈ Actual Page Read Delay), ранее запрограммированной в соответствующий регистр микросхемы SLDRAM.

Регистр конфигурации (Configuration Register) содержит уникальный код, идентифицирующий производителя микросхемы памяти, частоту ее функционирования, количество банков, число строк в банке, количество столбцов в странице и число линий данных. Поле производителя (Manufacturer Field) содержит код, идентифицирующий производителя устройства памяти. Значение компенсирующего бита (Data Offset Bit) определяется состоянием линии DQ0: DQ0=0 характеризует устройство памяти, поддерживающее только компенсацию ╚ширины╩ данных (Word-Wide Offset), а DQ0=1 определяет поддержку компенсации и уровня градации (Bit Level Offset). Значение поля определения частоты функционирования (Frequency Field) определяется аналогично значениям битового поля идентификации частоты функционирования, записываемого в регистр частоты функционирования. Назначение полей определения количества банков (Bank Field), строк (Row Field), столбцов (Column Field) и линий данных (DQ Field) понимается из их названия.

Регистр текущей задержки (Actual Delay Register) содержит установочную информацию о значениях текущей задержки чтения страницы, задержки чтения из банка и задержки записи в банк для конкретного устройства памяти. Данный регистр содержит 4 поля. Значение поля текущей задержки чтения страницы (Actual Page Read Delay Field) измеряется количеством целых ╚тиков╩ между приемом пакета запроса на чтение страницы и последующим чтением данных. Оно определяет поддерживаемое в данной микросхеме памяти значение текущей задержки чтения страницы. Значение поля текущей задержки записи страницы (Actual Page Write Delay Field) измеряется количеством целых ╚тиков╩ между приемом пакета запроса на запись страницы и последующей записью данных. Оно определяет поддерживаемое данным устройством памяти значение текущей задержки записи страницы. Поля текущей задержки на чтение (Actual Bank Read Delay Field) и запись (Actual Bank Write Delay Field)
из/в банк имеют свойства, аналогичные вышерассмотренным (только не для страницы, а для банка).

Регистр минимальной задержки (Minimum Delay Register) содержит установочную информацию о минимальных значениях задержки чтения страницы, задержки записи страницы, задержки чтения из банка и задержки записи в банк. Значение, хранящееся в этом регистре, является суммой цифровых параметров соответствующих регистров тайминговых параметров (Timing Parameter Registers) и аналоговых значений, конвертируемых в цифровые (используя при этом минимальное время цикла CCLK) и округляемых до ближайшего большего целого числа. Если устройство памяти применяется на пониженных частотах, то контроллер должен будет вычислить эти значения, используя значения тайминговых параметров и действительную частоту функционирования (при этом он игнорирует значение, записанное в регистре минимальной задержки). Данный регистр также состоит из четырех битовых полей, назначение которых определяется аналогично описанию битовых полей для регистра текущей задержки: поля минимальной задержки чтения (Minimum Page Read Delay Field) и записи (Minimum Page Write Delay Field) страницы, и поля минимальной задержки чтения (Minimum Bank Read Delay Field) и записи (Minimum Bank Write Delay Field) из/в банк.

Регистр максимальной задержки (Maximum Delay Register) содержит установочную информацию о максимальных значениях задержки чтения страницы, задержки записи страницы, задержки чтения из банка и задержки записи в банк. Особенности этого регистра полностью аналогичны особенностям регистра минимальной задержки (с той лишь разницей, что в него вносятся значения максимальных параметров). Битовые поля: поля максимальной задержки чтения (Maximum Page Read Delay Field) и записи (Maximum Page Write Delay Field) страницы, и поля максимальной задержки чтения (Maximum Bank Read Delay Field) и записи (Maximum Bank Write Delay Field) из/в банк.

Регистры тайминговых параметров (Timing Parameter Registers) содержат представление соответствующих тайминговых параметров, предусматриваемых спецификацией устройства памяти. Контроллер может использовать эту информацию для программирования оптимальных таймингов, базирующихся на возможном уровне производительности устройства памяти. Каждый регистр содержит значения для двух тайминговых параметров, состоящих из аналоговых и цифровых компонент. Цифровая компонента представляет собой целое число, лежащее в диапазоне 0-255. Аналоговая компонента, выражаемая в наносекундах (нс), вычисляется путем умножения размера представления шага на десятичное представление значения (количество ступеней). Результирующее значение (аналоговая компонента + цифровая компонента) для данного параметра может быть получено путем преобразования аналоговой компоненты в цифровую (методом деления на текущий интервал цикла CCLK и округления полученного результата до ближайшего большего целого числа) и добавления полученного результата к имеющейся цифровой компоненте.

Функционирование подсистемы SLDRAM

Доступ для чтения или записи начинается с выдачи пакета запроса, который включает все необходимые адресные биты. Пакет запроса следует за определенной (специально запрограммированной) задержкой, а сам пакет данных завершает транзакцию. Для обеспечения нормального функционирования каждое устройство SLDRAM проходит специальные фазы инициализации (Initialization), идентификации (Identification), синхронизации (Synchronization) и настройки временных параметров (Timing Adjust), после чего готово к нормальному функционированию. Рассмотрим эти фазы подробнее.

Включение/аппаратный сброс (Power-Up/Hardware Reset)

Устройства SLDRAM должны быть включены и инициализированы определенным способом. Нарушение порядка действий, определяемого спецификацией этой ступени, может привести к возникновению неопределенной операции.

Напряжение подается сначала на трассы VDD и VDDQ. Затем, после задержки инициализации основных интерфейсов питания (tVTD ≈ VDD/VDDQ to VTERM Set Up time), значение которой определяется конкретной микросхемой памяти, ≈ на интерфейс системного терминирования (VTERM). Интерфейс VTERM должен инициализироваться только после подачи напряжения на линии VDDQ, чтобы избежать ╚задвижки╩ устройства, которая может привести к полному повреждению устройства памяти. Опорное напряжение VREF, номинально совпадающее с VTERM, может инициализироваться в любое время после окончания интервала подачи напряжения на VDDQ. Входы не являются активными относительно системы, пока не будет подано опорное напряжение. На момент включения электропитания все линии DQ[17:0] и DCLK[1:0]/ DCLK[1:0]# находятся в высокоимпедансном состоянии (Hi-Z), а на выходе SO установлено низкое значение напряжения. Вход RESET# должен быть активным (низким), как минимум, промежуток времени tRST (RESET# Pulse Width), равный длительности действия сигнала аппаратного сброса.

Выход из деактивации/настройка управления контроллера
(Exit ShutDown/Controller Driver Adjust)

Низкий уровень сигнала LINKON при устойчивом CCLK должен установиться до окончания действия сигнала RESET#. После этого продолжается установленная последовательность инициализации (как при выполнении программы выхода из ShutDown): сначала значение сигнала LISTEN устанавливается в логический ╚0╩ до перехода LINKON в ╚1╩, затем значение LINKON переходит в ╚1╩ и выполняется цикл ожидания tLHHC (Listen to Linkon High Hold time ≈ Cold) для блокирования цепей автоподстройки длительности задержки сигнала (DLL ≈ Delay Locked Loop), и потом LISTEN переходит в активное состояние. Внешние буферные элементы могут требовать низкого уровня сигнала LISTEN до окончания действия RESET#. Для выполнения этого необходимо введение дополнительной задержки блокировки между переходом сигналов LINKON и LISTEN в высокоуровневое состояние. После выхода из состояния ShutDown микросхема памяти полностью активизируется. Результатом активизации является выполнение команды и записи тайминга синхронизации. В определенный момент времени до начала выполнения команды и записи тайминга синхронизации контроллер должен выполнить внутреннюю самокалибровку уровней VOH и VOL интерфейса SLIO.

Команда и запись тайминга синхронизации
(Command and Write Timing Synchronization)

Для выполнения команды и записи тайминга синхронизации контроллер передает определенный специфический образец (псевдослучайная синхронная последовательность, шаблон) на линии сигналов FLAG, CA[9:0], и DQ[17:0], постоянно его повторяя, пока не зафиксируется прямой переход ╚низкий/высокий╩ (LOW-to-HIGH) на входе SI. Это происходит только после успешной синхронизации всех устройств на канале. Выходной сигнал SO-контроллера имеет высокий уровень после передачи первого цикла указываемого специфического образца. Шаблон передается на все устройства, соединенные непосредственно с контроллером, и идентифицируется последовательностью ╚1╩ на входе FLAG. В течение этой операции микросхемы SLDRAM используют SI/SO-соединение (последовательная связующая цепочка) с последовательным опросом, чтобы связаться с контроллером памяти и закончить запись тайминга синхронизации. Полная фаза определения и записи расчета синхронизации выглядит следующим образом: последовательный переход LOW-to-HIGH от SO-выхода контроллера до входа SI первого прибора SLDRAM, затем от выхода SO первого прибора SLDRAM до входа SI второго прибора SLDRAM и т.═д. через выход SO последней микросхемы SLDRAM к входу контроллера. Каждое устройство SLDRAM начинает выполнение команды и записи тайминга синхронизации сразу после обнаружения на собственном входе специфического образца, но не направляет его к собственному выходу SOn, пока на входе действует переход и не завершился цикл отработки команды и записи тайминга синхронизации. Контроллер останавливает посылку специального образца после обнаружения на входе SI высокого уровня напряжения и затем ждет 16 ╚тиков╩ до момента начала посылки необходимой команды или переопределения соединения SI/SO (уровень сигнала FLAG всех 16 ╚тиков╩ находится в низком состоянии). Эта задержка позволяет устройствам SLDRAM обнаруживать отсутствие посылки специального образца на входе FLAG и распознавать следующий высокий уровень на входе FLAG (являющийся началом передачи действительного пакета команды). Контроллер
переопределяет соединение SI/SO посредством передачи ╚0╩ на SO и ожидания момента перехода SI в аналогичное низкоуровневое состояние.

Продолжение следует


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

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

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

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

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