Организация модулей памяти SDRAM
Основные параметры логической организации микросхем памяти – емкость, глубину и ширину, можно распространить и на физические модули памяти типа SDRAM. Понятие емкости (или объема) модуля очевидно – это максимальный объем информации, который данный модуль способен в себя вместить. Теоретически он может выражаться и в битах, однако «потребительской» характеристикой модуля памяти является его объем (емкость), выраженный в байтах – точнее, учитывая современный уровень используемых объемов памяти, – в мега- или гигабайтах.
Ширина модуля – это разрядность его интерфейса шины данных, которая соответствует разрядности шины данных контроллера памяти и для всех современных типов контроллеров памяти SDRAM (SDR, DDR и DDR2) составляет 64 бита. Таким образом, все современные модули характеризуются шириной интерфейса шины данных «x64». Соответствие между 64-битной шириной шины данных контроллера памяти (64-битным интерфейсом модуля памяти) и шириной внешней шины данных микросхем памяти, которая обычно составляет всего 4, 8 или 16 бит, достигается вследствие того, что интерфейс шины данных модуля составляется простым последовательным «слиянием» внешних шин данных индивидуальных микросхем модуля памяти. Такое «заполнение» шины данных контроллера памяти принято называть составлением физического банка памяти. Таким образом, для составления одного физического банка 64-разрядного модуля памяти SDRAM необходимо и достаточно наличие 16 микросхем x4, 8 микросхем x8 (это наиболее часто встречаемый вариант) или 4 микросхем x16.
Оставшийся параметр – глубина модуля, являющаяся характеристикой емкости модуля памяти, выраженной в количестве «слов» определенной ширины, вычисляется простым делением полного объема модуля на разрядность внешней шины данных (всё выражено в битах). Так, типичный 512-МБ модуль памяти SDR/DDR/DDR2 SDRAM имеет глубину, равную 512МБайт * 8 (бит/байт) / 64 бита = 64М. Соответственно, произведение ширины на глубину дает полную емкость модуля и определяет его организацию, или геометрию, которая в данном примере записывается в виде «64Мx64».
При использовании достаточно «широких» микросхем x8 или x16 ничего не мешает поместить и большее их количество, соответствующее не одному, а двум физическим банкам – 16 микросхем x8 или 8 микросхем x16. Так различают однобанковые (single-rank) и двухбанковые (dual-rank) модули. Двухбанковые модули памяти наиболее часто представлены конфигурацией «16 микросхем x8», при этом один из физических банков (первые 8 микросхем) расположен с лицевой стороны модуля, а второй из них (оставшиеся 8 микросхем) – с тыльной. Наличие более одного физического банка в модуле памяти нельзя считать определенным преимуществом, т.к. может потребовать увеличения задержек командного интерфейса, которые рассмотрены в соответствующем разделе.
Микросхема SPD
Еще до появления первого типа синхронной динамической оперативной памяти SDR SDRAM стандартом JEDEC предусматривается, что на каждом модуле памяти должна присутствовать небольшая специализированная микросхема ПЗУ, именуемая микросхемой последовательного обнаружения присутствия (Serial Presence Detect, SPD). Эта микросхема содержит основную информацию о типе и конфигурации модуля, временных задержках («таймингах»), которых необходимо придерживаться при выполнении той или иной операции на уровне микросхем памяти, а также прочую информацию, включающую в себя код производителя модуля, его серийный номер, дату изготовления и т.п. Последняя ревизия стандарта SPD модулей памяти DDR2 также включает в себя данные о температурном режиме функционирования модулей, которая может использоваться, например, для поддержания оптимального температурного режима посредством управления синхронизацией памяти (так называемый «троттлинг памяти», DRAM Throttle). Более подробную информацию о микросхеме SPD и о том, как выглядит ее содержимое, можно получить в статье журнала iXBT «SPD — схема последовательного детектирования».
Тайминги памяти
Теорией характеристик микросхем/модулей памяти являются «тайминги памяти». Понятие «таймингов» происходит от задержек, возникающими при любых операциях с содержимым ячеек памяти в связи со вполне конечной скоростью функционирования устройств SDRAM как интегральных схем. Задержки, возникающие при доступе в память, также принято называть «латентностью» памяти (этот термин не совсем корректен и пришел в обиход с буквальным переводом термина latency, означающего «задержка»).