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

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

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


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

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

Назначение идентификатора
(ID Assignment)

Далее каждой микросхеме SLDRAM на канале(ах) последовательно назначается уникальный номер (идентификатор, ID) и субидентификационная (sub-ID) комбинация. Каждое устройство SLDRAM индивидуально выбирается по типу использования соединения SI/SO. Этот режим работы идентифицируется переходом LOW-to-HIGH на входе SI, сопровождаемым пакетом запроса записи (Write Request Packet) в регистр идентификации. Каждый запрос записи в регистр идентификации обязательно сопровождается соответствующим пакетом запроса записи в регистр субидентификации (встречные тайминги ≈ tCC, Control Register Write to Next Command Set Up time, все логические банки закрыты). N пар этих запросов будут результативными, где N соответствует числу микросхем SLDRAM в подсистеме. Только устройство SLDRAM, которое имеет высокий уровень сигнала на входе SI, ID=255 и sub-ID=15, среагирует на пакет запроса записи в регистр идентификации в любой посланной паре запроса. Соответствующий пакет запроса записи в регистр субидентификации в каждой паре запроса должен использовать только тот номер устройства, который был назначен пакетом запроса записи в регистр идентификации в данной паре. Таким образом, только микросхема SLDRAM с таким идентификатором, где на входе SI присутствует ╚1╩ и sub-ID=15, отреагирует на пакет запроса записи в регистр субидентификации. Выбранная микросхема SLDRAM: отреагирует на запись идентификатора, содержащегося в первом пакете для внутреннего регистра идентификации, на запись субидентификатора, содержащегося во втором пакете для внутреннего регистра субидентификации, а затем установит на выходе SO высокий уровень напряжения. Контроллер памяти, в свою очередь, обеспечивает достаточную задержку (tID≈ ID Write Request to SO Output Delay, плюс максимальное значение задержки распространения) между установкой на SO логической ╚1╩ и первой выходящей парой запроса (а также между последующими парами запроса), чтобы учесть время прохождения от выхода SO данного устройства памяти до входа SI следующего устройства. Назначение идентификатора закончено, когда вход SI-контроллера перешел в высокоуровневое состояние. Тогда контроллер при необходимости снова переопределяет соединение SI/SO (как и прежде).

Преконфигурация/настройка управления SLDRAM
(Preconfiguration/SLDRAM Driver Adjust)

На этой ступени микросхемы SLDRAM принимают команды (каждое устройство памяти является уникально адресуемым). Затем программируется рабочая частота конкретного устройства SLDRAM и выполняется калибровка уровней VOH и VOL. Информация, указывающая соответствующую рабочую частоту микросхемы, содержится непосредственно в контроллере. Она может быть также получена при опросе контроллером некоторых других компонент (переходных устройств, микросхем, содержащих схему последовательного детектирования (SPD) и т.д.). Соответствующие значения записываются в определенный регистр каждого устройства SLDRAM. Для определения новой частоты для запрограммированных частот функционирования (отличных от фактической частоты) должна быть повторена команда и запись синхронизации. Калибровка VOH выполняется для каждого устройства SLDRAM. При этом, посылаются высокоуровневые управляющие команды DCLK с высоким уровнем. В ходе итерационной процедуры посылается инкремент/декремент VOH команд и контролируется выходной уровень (пока не будет установлен необходимый). Калибровка VOL выполняется аналогично. Используются низкоуровневые управляющие команды DCLK, а также увеличение/уменьшение VOL команд. После завершения калибровки контроллер посылает командный пакет прекращения подачи DCLK (Disable DCLKs).

Считывание тайминга синхронизации
(Read Timing Synchronization)

Далее контроллер посылает команды отдельно каждому устройству SLDRAM, происходит выбор рабочей частоты и выполняется чтение тайминга синхронизации. Для каждой микросхемы SLDRAM контроллер должен сначала послать, как минимум, 16 команд приращения точного верньера для линий DQ[17:0] и DCLK0. При этом счетчик отсчитывает приращение (начиная от минимального значения ╚0╩, устанавливаемого после отработки процедуры сброса) с большой погрешностью, что вызывет необходимость последующих настроек. После этого контроллер должен послать пакет запроса на синхронизацию конкретной микросхемы SLDRAM.
В результате данного запроса возвращается образец специальных данных со значением задержки, равным текущей длительности считанной страницы. После посылки команды запроса на считывание параметров синхронизации (Read Sync Request) контроллер активизирует цепи синхронизации. Далее контроллер настраивает внутренние параметры синхронизации, чтобы зафиксировать данные (при помощи точных и компенсирующих верньеров до тех пор, пока известный образец данных не зафиксирован и не оптимизированы параметры синхронизации). Далее осуществляется окончательная настройка для размещения считанных данных в контроллере (программируется задержка с довольно большим запасом времени). Контроллер формирует пакет прекращения считывания параметров синхронизации, который указывает микросхеме SLDRAM, что посылки шаблона прекращены. После выполнения данной процедуры для каждой микросхемы SLDRAM контроллер начинает считывание данных с каждого устройства SLDRAM, но с неопределенной задержкой. Команда и запись тайминга синхронизации, запись тайминга синхронизации, чтение тайминга синхронизации или калибровка выходного уровня в случае необходимости могут периодически повторяться. Такие процессы ресинхронизации и рекалибровки должны выполняться при отсутствии операций.

Обнаружение и перепрограммирование задержек чтения
и записи (Detecting and Reprogramming Read&Write Latencies)

Теперь контроллер может обнаруживать текущую задержку чтения для каждого устройства SLDRAM, посылая управляющие команды перевода DCLK в активное состояние. Эти команды сопровождаются (после интервала tDD ≈ Command to DCLK Delay for DCLK HIGH, LOW, Toggling or Hi-Z) запросом на считывание данных из регистра состояния (Read Status Register Request). Контроллер немедленно после выдачи запроса на чтение данных из регистра состояния активизирует контроль соответствующего сигнала DCLK и начинает отсчитывать тактовые импульсы между посылкой команды и обнаружением первого перехода LOW-to-HIGH на этой линии DCLK. После обнаружения задержки записи контроллер выдает команду прекращения подачи импульсов DCLK, чтобы перевести линии синхронизации шины данных в штатный режим функционирования. Данные из регистров состояния SLDRAM передаются пакетами по четыре с текущей задержкой чтения из устройства. После чтения данных из регистров состояния всех микросхем SLDRAM контроллер использует считанные данные для определения соответствующей задержки чтения. Значение этой задержки и программируется в микросхемы. Для согласования работы ближних и дальних микросхем памяти (по таймингам общей задержки) параметры задержки ближних микросхем SLDRAM программируются с дополнительной задержкой.

Основные особенности интерфейса SYNCLINK

Для повышения эффективности интерфейса SyncLink в протоколе RamLink был сделан ряд изменений:

"═Нулевое состояние (No Status). В ответах SyncLink нет никакой информации о состоянии компонент системы. В особо жаростойких корпусах, где контроль состояния необходим, эта информация должна быть сохранена в микросхеме SLDRAM для последующего считывания через специальные регистры.
"Точное планирование (Exact Scheduling). Применяющийся в RamLink механизм, разрешающий преждевременный возврат ответа, устранен.
"═Запрещение повтора (No Retry). Планирование SyncLink всегда точно, поэтому он не предусматривает никакого механизма или команды для микросхемы SLDRAM, чтобы запросить повтор (например, из-за неожиданного конфликта между циклом регенерации и доступом).
"═Отсутствие заголовка ответа (No Response Header). Ответы приходят только для чтения и содержат только данные.
" Отсутствие саморегенерации (No Self-Refresh). Для обеспечения предсказуемости планирования устранена необходимость в повторе и максимально упрощена конструкция SyncLink.
"═Компактные команды (Compact Commands). Заголовок пакета запроса RamLink сокращен до минимума, необходимого для выполнения приложений SLDRAM.
"═Упрощенная модель устройства (Simplified Device Model). SyncLink DRAM не поддерживают внутренний запрос или ответ. Они обходятся одним запросом и одним ответом на блок. Множественные блоки имеют те же самые тайминги чтения/записи, что и независимые SLDRAM-устройства.

Система SLDRAM, имеющая ╚изолированную╩ конфигурацию с короткими длинами сигнальных линий и хорошей помехозащищенностью, может использовать шинные соединения намного эффективнее, чем прямой сигнальный интерфейс RingLink, основанный на схеме типа ╚точка-точка╩ (Point-to-Point) и применяемый в стандарте RamLink. Интерфейс SyncLink имеет меньше сигналов и меньшую задержку передачи, чем RingLink. Назначение байтов шины данных может быть арбитражно выбрано для выполнения доступа на чтение/запись из/в микросхемы памяти. Общий интерфейс шин команд и данных SLBus условно разделяет на приоритетные биты ≈ более (MSB ≈ Most Significant Bit) или менее (LSB ≈ Less Significant Bit) важные, объединяемые в два аналогичных по условным приоритетам байта в интерфейсе dataLink. Сигнальный интерфейс микросхемы памяти и структуры шины SLBus абсолютно идентичен ≈ разница только в используемом обозначении. Исключение составляет лишь не рассматриваемый ранее сигнал selectProm выбора идентификационного устройства ≈ микросхемы ПЗУ, устанавливаемого на модуле SLM (рис. 1).

Приходящий основной задающий стробирующий сигнал strobe (дифференциальная группа CCLK/CCLK#) определяет границы бит данных, проходящих по командной шине.

Шины команд c[9:0] (аналог CA[9:0]) и данных a[8:0], b[8:0] (аналоги DQ[17:0]) функционируют на одной частоте, что контролируется компенсирующими верньерами относительно сигнала strobe. Транзакции по шине данных могут использовать двунаправленные синхросигналы dataE (дифференциальная группа DCLK0/DCLK0#) и dataO (дифференциальная группа DCLK1/DCLK1#) для точной передачи считываемых или записываемых данных.

Для определения точности настройки сигналов командной шины цепь задержки delayC должна выполнить фазу самонастройки (при помощи самокалибровки) или считать запрограммированные настройки из соответствующих регистров, если их предусмотрел производитель. Эти определения должны четко отработаться в порядке посылки команд к микросхемам памяти SLDRAM до момента начала процесса инициализации. Командная шина не так загружена, как шина данных, но для поддержания примерно одинаковой нагрузки на линии шина команд буферизируется при помощи усилителей уровня. Эти буферы интегрируются непосредственно в чип памяти или используются в составе модуля в виде отдельной микросхемы. Задержка, вносимая буферами, может быть разной для каждого прибора памяти, используемого в системе, поэтому для согласования по таймингам применяется схема сравнения по тикам, требующая компенсации. Все сигналы командной шины, включая сигнал стробирования, должны быть по возможности идентично настроены с минимальным перекосом. Более сложные буферизирующие элементы могут изменять временные параметры для смещения фазы сигнала, если это необходимо в сложных системах, использующих многоступенчатую иерархию построения (рис. 2).

Для поддержания точности синхронизации на шине данных микросхема памяти имеет специальные цепи задержки (delayA и delayB), которые отвечают за ╚выравнивание╩ данных на входе и выходе микросхемы памяти. Эти задержки компенсируют разницу, вводимую для буферизируемых стробов, между маршрутами прохождения сигнала по командной и адресной шинам. Значение задержки delayA устанавливается таким, чтобы обеспечить стабильность входных сигналов, когда их значения начинают ╚плавать╩. Значение delayB компенсирует задержки, возникающие на выходных регистрах, чтобы все сигналы поступали на выход одновременно. В момент включения питания внутренние цепи обратной связи микросхемы памяти настраивают задержку delayB таким образом, чтобы выходные сигналы синхронизировались со стробом, однако в течение нормального функционирования цепи обратной связи неактивны, и значение delayB контролируется непосредственно контроллером. Контроллер в свою очередь заблаговременно посылает или прямые команды установки соответствующего временного параметра, или команды события (EVENT), чтобы увеличить или уменьшить выходные тайминги микросхемы маленькими шагами. Таким образом, выпрямляется временное смещение на входе контроллера, а не на выходе микросхемы. Диапазон таких подстроек лежит как минимум в интервале ╠1 ╚тик╩, а длительность шага подстройки должна составлять приблизительно 1/16 ╚тика╩ (точная подстройка). Грубая подстройка может использоваться лишь как коррекция целым тиком (Integer-Tick Corrections).

Шина SLDRAM соединяет один контроллер памяти и до восьми нагрузок ≈ в данном случае, одна нагрузка подразумевает один прибор памяти или один буферизированный модуль. Модуль, содержащий две и более микросхемы памяти, должен быть буферизированным. Таким образом, в пределах стандартной конфигурации можно получить объединение до 64 микросхем памяти. Намного более сложные схемы позволяют объединять 128 и 256 запоминающих устройств при использовании двух или 4-х шин данных, соответственно (рис. 3).

Протокол шины SLDRAM позволяет адресовать иерархическую подсистему памяти, разрешающую объединять гораздо больше микросхем памяти, чем стандартный интерфейс SyncLink. Буферизируемые модули позволяют создавать очень ╚глубокие╩ и ╚широкие╩ конфигурации, основанные на небуферизированном интерфейсе. Интересной особенностью является 100% совместимость буферизированных и небуферизированных модулей. В последовательности инициализации и синхронизации учитываются дополнительные задержки, вносимые буферами.

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

При использовании совместного буферизирования (Buffered CommandLink and DataLink) предоставляется возможность в рамках ╚единичного╩ SLDRAM-интерфейса адресовать значительно более ╚глубокую╩ конфигурацию, нежели при использовании только буферизированной шины команд. Так, буфера шины команд и данных могут совмещаться в одном чипе (рис. 5).

Для более высокой производительности используются многократные связи, чтобы улучшить результирующую пропускную способность (для ╚широких╩ передач), серьезно уменьшить среднюю задержку (для небольших чередующихся передач) и улучшить надежность системы. Концепция надежных систем предусматривает сохранение избыточных копий данных так, чтобы данные могли быть восстановлены после возможных сбоев или выхода из строя массива ДОЗУ. Стандартные RAID-подобные методы могут применяться и к подсистеме памяти. Например, контроллер памяти может поддерживать 5 матриц: 4 используются для сохранения чередуемых копий данных, а пятая ≈ чтобы сохранить копию контроля четности. Схемы движения в таких системах очень интенсивны, чтобы их можно было предсказать, но в качестве примера рассмотрим образец доступа типа ╚процессор-память╩.

Кэшируемый процессор формирует доступы к строкам кэша, которые, как предполагается, являются 64-байтными. Используя кэш с обратной записью (Write-Back), фаза чтения выполняется приблизительно в три раза дольше, чем фаза записи. Все транзакции кэшируются в строку данных (64 байта). Именно для таких случаев (модель первичной важности) и оптимизирована конструкция SyncLink.

Некэшируемый процессор генерирует доступы слова (4 или 8═байт) с частотой отработки циклов чтения приблизительно в три раза большей, чем циклов записи. Эта модель трафика памяти является моделью вторичной важности по оптимизации конструкции SyncLink. Короткие записи в SyncLink включают чтение пакета, модифицируя записанные части данных и записывая пакеты обратно. Данная схема оптимальна для простейших запоминающих систем. Кроме того, она существенно упрощает и ускоряет контроль и доступ к памяти.

Важным моментом в конструкции SLDRAM является планируемый параллелизм (Scheduling Parallelism) ≈ прибор SLDRAM может иметь множественные суб-ОЗУ (sub-RAM) или блоки (Block). Если не принимать во внимание инициализацию, то действие блоков, по существу, подобно независимым ОЗУ. Блоки SyncLink не ожидают поступления основных множественных очередей запросов, как было принято для RamLink (они ожидают, пока обработается по крайней мере один запрос, рис. 6).

Стандартно банки содержат строки (Row), которые, в свою очередь, содержат столбцы (Column). Строка ≈ это объем считываемых или записываемых данных в одну из нескольких матриц чипа. Столбцы ≈ это подмножества строк, которые считываются или записываются в индивидуальных фазах операции чтения/записи, предусматриваемых интерфейсом самого чипа. Типичная передача данных в SyncLink ╚связывает╩ четыре 16-разрядных столбца для того, чтобы создать пакет данных. Доступ к столбцам в пределах той же самой строки быстрее, чем доступ к другой строке, что экономит время доступа, требуемое, чтобы доставить строку данных от конкретных ячеек ядра памяти.

Множественные банки в пределах каждой суб-ОЗУ могут обеспечивать дополнительный уровень параллелизма. При наличии множественных банков данные могут многократно использоваться, что увеличивает производительность. Наконец, необходимо, чтобы банк соответствовал строке, которую можно держать в постоянной готовности для совместного доступа; субматрица соответствовала одному или большему количеству банков, совместно использующих один тайминговый контроллер, который может одновременно исполнять только одну операцию; ОЗУ соответствовала нескольким суб-ОЗУ, которые могут не только иметь совместный доступ, но и совместно использовать общую инициализацию и средства адресации. Важно также отметить, что один прибор SLDRAM для нормального функционирования должен иметь как минимум 16 независимых банков.

Так как интерфейс SLBus использует две разделенные шины общего доступа, то в сравнении с RamRing (интерфейса RamLink) число выводов уменьшилось. Обратной стороной медали является более низкая расширяемость. Кроме того, реализация высокоскоростной шины возможна лишь в случае точно рассчитанной для конкретной топологии длины сигнальных трасс и коротких выводов у самой микросхемы (последствия функционирования на очень высокой частоте). Коммуникации с разделенными шинами (Shared-Link Communication) применяются для того, чтобы добиться высокой скорости передачи данных между контроллером и подчиненным устройством (Memory Slave). Топология базовой конфигурации подсистемы памяти, базирующейся на SyncLink, состоит из контроллера и до 64 подчиненных устройств.

Использование только одного контроллера для каждой подсистемы SyncLink (используется схема масштабирования ╚один контроллер-один канал╩ ≈ до четырех каналов максимум) значительно упрощает протоколы инициализации и арбитража. Ограничение в 64 микросхемы памяти на канал упрощает кодирование пакетов, потому что адресация SLDRAM или назначение slaveId (уникального номера, ID) может содержаться в первом байте каждого пакета, и часть 7-разрядного поля slaveId используется для упоминавшейся ранее мультикастовой адресации. На практике же используется ограничение по нагрузке, которое в значительной степени увеличивает используемый размер конфигурации. Адреса slaveId делятся на четыре группы: 0-63 ≈ динамически назначаемые идентификаторы, 63═≈ назначение первоначального идентификатора, 64-126 ≈ идентификаторы мультикаста и 127 ≈ адрес псевдослучайной синхронной последовательности (шаблона). Микросхемы, входящие в мультикаст (расширение сверх 64 микросхем памяти), кроме базового идентификатора (Multicast ID) обязательно содержат субидентификатор (Multicast Sub-ID). Подсистемы, содержащие более 128 микросхем SLDRAM (до 256), имеют очень сложную схему адресации и логику распределения уникальных ID с применением механизма ретрансляции (Broadcast).

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


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

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

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

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

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