Рассмотрим теперь схему функционирования устройства микросхемы памяти типа DDR2 SDRAM, равночастотной и «равноширокой» (т.е. одинаковой ширины шины данных) относительно микросхемы DDR модуля памяти DDR-400. Прежде всего, отметим, что ширина внешней шины данных осталась абсолютно такой же — 1 бит/линию, как и ее эффективная частота (в рассматриваемом примере — 400 МГц). Собственно, этого уже достаточно для ответа на поставленный выше вопрос — почему теоретическая ПСП равночастотных модулей памяти типа DDR2 и DDR равны между собой. Далее, очевидно, что использование мультиплексора типа 2-1, применяемого в DDR SDRAM, в случае DDR2 SDRAM, осуществляющей выборку данных по правилу 4n-prefetch, уже не подходит. Вместо этого требуется введение более сложной схемы с дополнительной ступенью преобразования — мультиплексора типа 4-1. Это означает, что выход ядра стал шире в четыре раза внешнего интерфейса микросхемы и во столько же раз ниже по частоте функционирования. То есть, по аналогии с рассмотренным выше примером, в общем случае схема MUX/DEMUX 4-1 осуществляет преобразование внутреннего потока данных шириной X и частотой передачи Y от массива во внешний поток шириной X/4 и частотой 4Y.
Поскольку в этом случае ядро микросхем памяти синхронизируется на частоте, вдвое меньшей по отношению к внешней (100 МГц), тогда как в DDR синхронизация внутреннего и внешнего потока данных происходят на одной частоте (200 МГц), среди преимуществ такого подхода отмечается увеличение процента выхода годных чипов и снижение энергопотребления модулей. Кстати, это также позволяет объяснить, почему стандарт DDR2 предполагает существование модулей памяти с «эффективной» частотой 800 МГц — что вдвое выше, чем у текущего поколения памяти типа DDR. Ведь именно такой «эффективной» частоты DDR2 можно достичь уже сейчас, имея чипы памяти DDR-400, работающие на собственной частоте 200 МГц, если осуществлять выборку данных по правилу 4n-prefetch по схеме, рассмотренной выше.
Таким образом, DDR2 означает отказ от экстенсивного пути развития чипов памяти — в смысле, простого дальнейшего увеличения их частоты, которое существенно затрудняет производство стабильно работающих модулей памяти в большом количестве. На смену ему выдвигается интенсивный путь развития, связанный с расширением внутренней шины данных (что является обязательным и неизбежным решением при использовании более сложного мультиплексирования). Рискнем предположить, что в будущем вполне можно ожидать появление памяти типа «DDR4», осуществляющей выборку уже не 4-х, а сразу 8 бит данных из чипов памяти (по правилу 8n-prefetch, с использованием мультиплексора типа 8-1), и работающих на частоте уже не в 2, а в 4 раза меньшей по отношению к частоте буфера ввода-вывода :). Собственно, ничего нового в таком подходе нет — подобное уже встречалось в микросхемах памяти типа Rambus DRAM. Тем не менее, нетрудно догадаться, что оборотной стороной такого пути развития является усложнение устройства MUX/DEMUX буфера ввода-вывода, который в случае DDR2 должен осуществлять сериализацию четырех бит данных, считываемых параллельно. Прежде всего, это должно сказаться на такой немаловажной характеристике памяти, как ее латентность, что мы и рассмотрим ниже.
Стандарт DDR2 включает в себя и ряд других усовершенствований, улучшающих различные характеристики нового типа памяти, в том числе — электрические. Одним из таких новшеств является внутричиповое терминирование сигнала. Суть его заключается в том, что для устранения излишнего электрического шума (вследствие отражения сигнала от конца линии) на шине памяти для нагрузки линии используются резисторы не на материнской плате (как это было с предыдущими поколениями памяти), а внутри самих чипов. Эти резисторы деактивируются, когда чип находится в работе и, наоборот, активируются, как только микросхема входит в состояние ожидания. Поскольку гашение сигнала теперь осуществляется намного ближе к его источнику, это позволяет устранить электрические помехи внутри чипа памяти при передаче данных.
Кстати, в связи с технологией внутричипового терминирования нельзя не остановиться на таком моменте, как... тепловыделение модуля, на активное снижение которого, в общем-то, в первую очередь и рассчитан новый стандарт DDR2. Действительно, такая схема терминирования сигналов приводит к возникновению значительных статических токов внутри чипов памяти, что ведет к их разогреву. Что ж, это действительно так, хотя заметим, что мощность, потребляемая подсистемой памяти в целом, от этого вовсе не должна расти (просто тепло теперь рассеивается в другом месте). Проблема здесь немного в другом — а именно, в возможности повышения частоты функционирования таких устройств. Весьма вероятно, что именно поэтому первым поколением памяти DDR2 являются модули вовсе не DDR2-800, а лишь DDR2-400 и DDR2-533, для которых тепловыделение внутри чипов пока что остается на приемлемом уровне.
Добавочная задержка (также известная как «отложенная выдача CAS») — еще одно усовершенствование, введенное в стандарт DDR2, которое призвано минимизировать простои планировщика команд при передаче данных из памяти/в память. Чтобы проиллюстрировать это (на примере чтения), рассмотрим для начала чтение данных с чередованием банков (Bank Interleave) из устройства типа DDR2 с добавочной задержкой, равной нулю, что эквивалентно чтению из обычной памяти типа DDR.
На первом этапе происходит открывание банка с помощью команды ACTIVATE вместе с подачей первой составляющей адреса (адреса строки), которая выбирает и активирует необходимый банк и строку в его массиве. В течение следующего цикла информация передается на внутреннюю шину данных и направляется на усилитель уровня. Когда усиленный уровень сигнала достигает необходимого значения (по истечении времени, именуемого задержкой между определением адреса строки и столбца, tRCD (RAS-to-CAS Delay) на исполнение может подаваться команда чтения с автоподзарядкой (READ with Auto-Precharge, RD_AP) совместно с адресом столбца, чтобы выбрать точный адрес данных, которые надо считать с усилителя уровня. После выставления команды чтения выполняется задержка строба выбора столбца — tCL (задержка сигнала CAS, CAS Latency), в течение которой данные, выбранные из усилителя уровня, синхронизируются и передаются на внешние выводы микросхемы. При этом может возникнуть ситуация, когда следующая команда (ACTIVATE) не может быть отправлена на исполнение, поскольку в данный момент времени еще не закончилось исполнение других команд. Так, в рассматриваемом примере, активация 2-го банка должна быть отложена на один такт, поскольку в этот момент уже исполняется команда чтения с автоподзарядкой (RD_AP) из банка 0. В конечном счете, это приводит к разрыву в последовательности выдачи данных по внешней шине, что снижает реальную пропускную способность памяти.
Для устранения подобной ситуации и увеличения эффективности работы планировщика команд в DDR2 вводится понятие добавочной (дополнительной) задержки, tAL. При ненулевом значении tAL устройство памяти отслеживает команды READ (RD_AP) и WRITE (WR_AP), но откладывает их исполнение на время, равное величине добавочной задержки. Различия в поведении микросхемы памяти типа DDR2 с двумя различными величинами tAL приведены на рисунке.
Верхний рисунок описывает режим функционирования микросхемы DDR2 при tAL = 0, что эквивалентно функционированию устройства микросхемы памяти типа DDR; нижний соответствует случаю tAL = tRCD - 1, стандартному для DDR2. При такой конфигурации, как видно из рисунка, команды ACTIVATE и READ могут поступать на исполнение одна за другой. Фактическая реализация команды READ будет отложена на величину добавочной задержки, т.е. реально она будет исполнена в тот же момент, как и на диаграмме сверху.
На следующем рисунке приведен пример считывания данных из микросхемы DDR2 в предположении tRCD = 4 такта, что соответствует tAL = 3 тактам. В этом случае, благодаря введению дополнительной задержки, команды ACTIVATE/RD_AP могут исполняться подряд, в свою очередь, позволяя выдавать данные непрерывным образом и максимизировать реальную пропускную способность памяти.
Как мы видели выше, DDR2, с точки зрения частоты внешней шины, работает на более высоких скоростях, чем DDR SDRAM. В то же время, поскольку новый стандарт не предполагает каких-либо существенных изменений в технологии производства самих чипов, статические задержки на уровне устройства DRAM должны оставаться более-менее постоянными. Типичная величина собственной задержки устройств DRAM типа DDR — 15 нс. Для DDR-266 (со временем цикла 7.5 нс.) это эквивалентно двум тактам, а для DDR2-533 (время цикла — 3.75 нс.) — четырем.
По мере дальнейшего увеличения частот памяти необходимо множить количество поддерживаемых значений задержки выдачи сигнала CAS (в сторону больших значений). Определенные стандартом DDR2 величины задержек CAS представлены в таблице. Они находятся в интервале целых чисел от 3 до 5 тактов; использование дробных задержек (кратных 0.5) в новом стандарте не допускается.