Сравнение памяти ddr и sdr

Обновлено: 07.07.2024

Выше мы рассмотрели организацию и принципы функционирования синхронных устройств памяти с одинарной скоростью передачи данных SDR SDRAM. В настоящем разделе мы рассмотрим, какие основные отличия привносят устройства с удвоенной скоростью передачи данных — DDR и DDR2 SDRAM.

Начнем с рассмотрения микросхем DDR SDRAM. По большей части они оказываются похожими на микросхемы SDR SDRAM — так, оба типа микросхем, как правило, имеют одинаковую логическую организацию (при одинаковой емкости), включая 4-банковую организацию массива памяти, и одинаковый командно-адресный интерфейс. Фундаментальные различия между SDR и DDR лежат в организации логического слоя интерфейса данных. По интерфейсу данных памяти типа SDR SDRAM данные передаются только по положительному перепаду («фронту») синхросигнала. При этом внутренняя частота функционирования микросхем SDRAM совпадает с частотой внешней шины данных, а ширина внутренней шины данных SDR SDRAM (от непосредственно ячеек до буферов ввода-вывода) совпадает с шириной внешней шины данных. В то же время, по интерфейсу данных памяти типа DDR (а также DDR2) данные передаются дважды за один такт шины данных — как по положительному перепаду синхросигнала («фронту»), так и по отрицательному («срезу»).

Возникает вопрос — как можно организовать удвоенную скорость передачи данных по отношению к частоте шины памяти? Напрашиваются два решения — можно либо увеличить в 2 раза внутреннюю частоту функционирования микросхем памяти (по сравнению с частотой внешней шины), либо увеличить в 2 раза внутреннюю ширину шины данных (по сравнению с шириной внешней шины). Достаточно наивно было бы полагать, что в реализации стандарта DDR было применено первое решение, но и ошибиться в эту сторону довольно легко, учитывая «чисто маркетинговый» подход к маркировке модулей памяти типа DDR, якобы функционирующих на удвоенной частоте (так, модули памяти DDR с реальной частотой шины 200 МГц именуются «DDR-400»). Тем не менее, гораздо более простым и эффективным — исходя как из технологических, так и экономических соображений — является второе решение, которое и применяется в устройствах типа DDR SDRAM. Такая архитектура, применяемая в DDR SDRAM, называется архитектурой «2n-предвыборки» (2n-prefetch). В этой архитектуре доступ к данным осуществляется «попарно» — каждая одиночная команда чтения данных приводит к отправке по внешней шине данных двух элементов (разрядность которых, как и в SDR SDRAM, равна разрядности внешней шины данных). Аналогично, каждая команда записи данных ожидает поступления двух элементов по внешней шине данных. Именно это обстоятельство объясняет, почему величина «длины пакета» (Burst Length, BL) при передаче данных в устройствах DDR SDRAM не может быть меньше 2.

Устройства типа DDR2 SDRAM являются логическим продолжением развития архитектуры «2n-prefetch», применяемой в устройствах DDR SDRAM. Вполне естественно ожидать, что архитектура устройств DDR2 SDRAM именуется «4n-prefetch» и подразумевает, что ширина внутренней шины данных оказывается уже не в два, а в четыре раза больше по сравнению с шириной внешней шины данных. Однако речь здесь идет не о дальнейшем увеличении количества единиц данных, передаваемых за такт внешней шины данных — иначе такие устройства уже не именовались бы устройствами «Double Data Rate 2-го поколения». Вместо этого, дальнейшее «уширение» внутренней шины данных позволяет снизить внутреннюю частоту функционирования микросхем DDR2 SDRAM в два раза по сравнению с частотой функционирования микросхем DDR SDRAM, обладающих равной теоретической пропускной способностью. С одной стороны, снижение внутренней частоты функционирования микросхем, наряду со снижением номинального питающего напряжения с 2.5 до 1.8 V (вследствие применения нового 90-нм технологического процесса), позволяет ощутимо снизить мощность, потребляемую устройствами памяти. С другой стороны, архитектура 4n-prefetch микросхем DDR2 позволяет достичь вдвое большую частоту внешней шины данных по сравнению с частотой внешней шины данных микросхем DDR — при равной внутренней частоте функционирования самих микросхем. Именно это и наблюдается в настоящее время — модули памяти стандартной скоростной категории DDR2-800 (частота шины данных 400 МГц) на сегодняшний день достаточно распространены на рынке памяти, тогда как последний официальный стандарт DDR ограничен скоростной категорией DDR-400 (частота шины данных 200 МГц).




По аналогии с DDR, нам осталось лишь рассмотреть, в каком количестве осуществляется считывание/запись данных в микросхемах DDR2, и какое минимальное значение может принимать величина длины пакета данных. Итак, поскольку DDR2 — это «все та же DDR», мы по-прежнему имеем удвоенную скорость передачи данных за один такт внешней шины данных — иными словами, на каждом такте внешней шины данных мы ожидаем получить не менее двух элементов данных (как всегда, разрядностью, равной разрядности внешней шины данных) при чтении, и обязаны предоставить микросхеме не менее двух элементов данных при записи. В то же время, вспоминаем, что внутренняя частота функционирования микросхем DDR2 составляет половину от частоты ее внешнего интерфейса. Таким образом, на один «внутренний» такт микросхемы памяти приходится два «внешних» такта, на каждый из которых, в свою очередь, приходится считывание/запись двух элементов. Следовательно, на каждый «внутренний» такт микросхемы памяти приходится считывание/запись сразу четырех элементов данных (отсюда и название — 4n-prefetch), т.е. все операции внутри микросхемы памяти осуществляются на уровне «4-элементных» блоков данных. Отсюда получаем, что минимальная величина длины пакета (BL) должна равняться 4. Можно доказать, что, в общем случае, архитектуре «2nn-prefetch» всегда соответствует минимальная величина Burst Length, равная 2n (n = 1 соответствует DDR; n = 2 — DDR2; n = 3 —DDR3).

В настоящее время наиболее популярны модули памяти трех типов: SDR, DDR, RAMBUS. Среди них RAMBUS-память использует технологию последовательного подключения с контролируемым сопротивлением. Мы не будем здесь обсуждать это дальше. Технология проектирования памяти, описанная в этой статье, предназначена для SDRAM (включая SDR и DDR). Теперь давайте кратко сравним SDR и DDR, они оба называются синхронной динамической памятью, и их основная технология одинакова. Просто DDR был улучшен в некоторых функциях, поэтому DDR ​​иногда называют SDRAM II. Полное название DDR - Double Data Rate, что вдвое превышает скорость передачи данных, но ее тактовая частота не увеличилась, но нарастающие и спадающие фронты тактовой частоты могут использоваться для чтения и записи данных. Для SDR наиболее распространенными модулями на рынке являются PC100 / PC133 / PC166, а соответствующей памятью DDR является DDR200 (PC1600) / DDR266 (PC2100) / DDR333 (PC2700).

Некоторые специфические различия между DDR ​​и SDR:
Напряжение и схема интерфейса разные. SDR обычно использует интерфейс LVTTL или SSTL_3.3 3 В, в то время как DDR использует цифровой интерфейс низкого напряжения SSTL_2.5 2 В, а DDRII использует интерфейс SSTL_1.8 18 В.
ZA DLL (Delay Locked Loops) добавляется внутрь микросхемы DDR, и данные точно определяются через шлюз данных DQS (строб данных).
Z DDR может использовать нарастающие и спадающие фронты тактовых импульсов для чтения и записи данных, и его суть заключается в использовании нарастающих и спадающих фронтов сигнала DQS для отправки и приема данных.
Z DDR имеет меньшее входное сопротивление, чем SDR.
Z DDR имеет опорное напряжение VREF, состояние цифрового сигнала определяется разностью между сигнальным напряжением и опорным напряжением.
DM DDR действителен только во время операций записи, в то время как сигнал DQM в SDR действителен во время операций чтения и операций записи.
Z DDR использует дифференциальную передачу тактового сигнала, что может лучше гарантировать качество сигнала и синхронизацию.
Интерфейс отличается от материнской платы. Например, для DIMM SDR имеет 168 контактов, а DDR - 184 контакта. SODIMM и UDIMM тоже разные.


Из-за различий в определенных характеристиках SDR и DDR мы учитываем разные факторы при разработке этих двух типов модулей памяти. В следующих разделах мы подробно рассмотрим детали конструкции этих двух типов модулей памяти. Хотя на текущем рынке по-прежнему доминируют SDRAM и DDR, основные производители модулей памяти начали проводить исследования DDRII, а JEDEC также учредила специальную рабочую группу для начала формулирования новых правил. Можно смело прогнозировать, что DDRII появится на рынке в следующем году (2003), а к 2004 году DDRII постепенно станет доминирующим рынком памяти. Для базовых знаний и дизайна DDRII
Теорию расчетов можно найти в соответствующих документах.

Планки памяти Corsair

Нам постоянно приходит энное количество писем с просьбой рассказать про принципы работы оперативной памяти. Вопросы стандартны: «Что такое тайминги?», «Чем отличается DDR2 от DDR3?», «Как образуется частота оперативной памяти?». И пусть данная тема стара как мир, тем не менее, по просьбе трудящихся я подниму ее еще раз.

А скорость модуля DDR3-1600 находится на отметке 25.6 Гбайт/с. Чувствуешь разницу? Между тем, рекорд принадлежит SRAM- памяти. Например, кэш первого уровня процессора Intel Core i7-3960X может похвастать скоростью порядка 120 Гбайт/с.

SDRAM

Модуль памяти

Ширина шины модуля памяти равна сумме ширин шин чипов этого модуля. Поэтому, если на модуле распаяно четыре чипа, то ширина каждого равна 64/4=16 бит. Если 8 чипов, то 64/8=4 бита. Притом что многие материнские платы поддерживают до 64 Гбайт ОЗУ, на сегодняшний день в продаже есть модули объемом 8 Гбайт. Распаяно на них 16 чипов. Соответственно, на каждый чип приходится 64/16=4 бит шины, то есть каждый чип обладает плотностью 4096 Мбит.

В большинстве случаев контроллер памяти считывает сразу целый пакет данных (Burst) с каждого бита шины. Соответственно, при записи каждые 64 бита или 8 байт делятся на несколько частей. Существует такое понятие, как Burst length (длина пакета). Если BL, например, равен восьми, то передается сразу 8*64=512 бит за один раз.

От SDR к DDR

Итак, после того как данные адреса попадают в декодеры банка (строки и столбца, у каждого свой декодер), выбирается нужный банк, а строка считывается в sense amplifiers. После этого в модуле памяти разрядностью, например, 4 выбирается 8 бит данных. То есть в два раза больше!

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

Прием данных осуществляется точно так же, но с точностью до наоборот. Сначала они попадают в приемник сигнала. Затем делятся по двум каналам и записываются одним блоком, то есть 8 бит, если речь идет о 4-разрядном модуле памяти. Порядок следования блоков определяется согласно одной из выделенных для этого адресных линий столбца.

От DDR к DDR4

Легко догадаться, что оперативная память DDR4 согласно архитектуре 2n prefect будет обладать внутренней шиной в 16 раз больше разрядности, а внешняя частота останется прежней. И если чип DDR4-1600 будет работать с частотой 100 МГц, то внешняя реальная частота составит 800 МГц.

Любая микропроцессорная система, вне зависимости от типа используемого микроконтроллера или процессора, в обязательном порядке требует памяти (рис. 1). В памяти хранится исполняемая процессором программа. Там же помещаются данные, используемые при вычислениях. Данные могут поступать от датчиков или появляться в результате расчетов, они также могут изначально размещаться в памяти при программировании.

Процессор использует память для хранения программ и данных

Рис. 1. Процессор использует память для хранения программ и данных

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

Например, жесткий диск (HDD), используемый в большинстве ПК, может хранить большой объем информации и имеет относительно низкую стоимость. Кроме того, информация, размещенная на HDD, не теряется при выключении ПК. В то же время скорость обмена при работе с жестким диском оказывается достаточно низкой.

Оперативная память ПК хотя и отличается высокой ценой и не сохраняет данные при отключении питания, но вместе с тем скорость обмена данными между ОЗУ и процессором оказывается гораздо выше, чем при работе с жестким диском.

Память можно разделить на две основные категории: энергозависимую (volatile) и энергонезависимую (non-volatile). Энергозависимая память теряет свое содержимое при отключении питания. Энергонезависимая память сохраняет данные даже при отключении питания.

В общем случае энергонезависимая память работает медленнее, но стоит дешевле, чем энергозависимая память. Чаще всего энергонезависимая память используется для хранения программ и пользовательских данных. Энергозависимая память в основном необходима для хранения часто используемых данных. Кроме того, в высокопроизводительных устройствах после запуска процессора программа копируется из энергонезависимой памяти в ОЗУ и далее выполняется оттуда.

Энергонезависимая память

Почти вся энергонезависимая память использует одну и ту же базовую технологию для хранения битов данных. Значение каждого бита по существу определяется наличием или отсутствием заряда, хранимого на плавающем затворе МОП-транзистора. От заряда на этом плавающем затворе зависит, находится ли канал МОП-транзистора в проводящем состоянии или нет, тем самым, кодируется логический уровень элементарной ячейки памяти.

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

Во-первых, чтобы перезаписать бит памяти, его необходимо сначала стереть. При этом механизм записи с переносом заряда характеризуется таким негативным эффектом, как деградация ячейки памяти. Деградация приводит тому, что после многочисленных циклов записи/стирания ячейка памяти теряет способность хранить заряд, то есть перестает выполнять свою главную функцию.

Различные виды энергонезависимой памяти отличаются способом организации битов в микросхеме, что в свою очередь определяет, насколько легко и как быстро к ним можно получить доступ. Таким образом, когда речь заходит об энергонезависимой памяти помимо показателей скорости и стоимости в игру вступают дополнительные факторы. Эти факторы привели к появлению различных технологий энергонезависимой памяти.

Flash

Flash чаще всего используется для хранения программ и констант в микроконтроллерах, а также для хранения загрузчика в ПК.

Существует два основных типа Flash: NAND и NOR. Оба типа Flash имеют свои достоинства и недостатки и применяются в различных приложениях.

NOR Flash, как правило, выступает в роли XIP-памяти (Execute In Place), то есть может использоваться как для хранения, так и для выполнения программ. В большинстве случаев, NOR Flash оказывается дороже и быстрее, чем NAND Flash.

NAND Flash обычно используется в SSD-дисках, USB-накопителях, а также является основным типом памяти для SD-карт.

EEPROM

EEPROM (Electrically Erasable Programmable Read Only Memory) – достаточно медленный и относительно дорогой тип памяти. Вместе с тем EEPROM обеспечивает простоту доступа к данным. Если во Flash организован постраничный доступ к памяти, то EEPROM позволяет записывать и стирать отдельные байты. Таким образом, EEPROM является оптимальным вариантом для хранения данных конфигурации и пользовательской информации во встраиваемых системах.

SSD и SD

В SSD-накопителях (Solid State Drives) и SD-картах (Secure Digital) используется NAND Flash (рис. 2). В таких накопителях работа ведется с большими блоками данных. SSD-накопители и SD-карты обеспечивают более высокую надежность, по сравнению традиционными жесткими дисками (HDD).

Карта памяти SD (32 ГБ)

Рис. 2. Карта памяти SD (32 ГБ)

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

В отличие от SSD, SD-карты, в силу своего размера, обычно не отличаются большой емкостью и не обладают технологиями, повышающими надежность хранения данных. Следовательно, они в основном используются в приложениях, требующих не очень частого доступа к данным.

Дискретные микросхемы Flash-памяти большого объема (более нескольких Мбайт) оказываются весьма дорогими, если речь идет о мелком и среднесерийном производстве.

Таким образом, если вашему устройству требуется большой объем Flash (сотни Мбайт - Гбайты), то в большинстве случаев более экономичным решением станет использование SD-карты, по крайней мере, до тех пор, пока вы не достигнете крупносерийного производства, при котором стоимость дискретных микросхем Flash не опуститься до разумного значения.

Другие типы энергонезависимой памяти

В этом разделе кратко описаны некоторые другие типы энергонезависимой памяти, которые широко использовались в прошлом.

Постоянная память ROM. Содержимое этой памяти программируется на этапе производства и не может быть изменено в процессе эксплуатации.

Однократно программируемая пользователем память PROM (Programmable ROM). Содержимое этой памяти может быть однократно запрограммировано пользователем.

Стираемая память EPROM (Erasable Programmable ROM). Микросхемы EPROM имеют небольшое окно для стирания содержимого с помощью ультрафиолетового излучения. После стирания память EPROM может быть снова запрограммирована.

Пример устаревшей микросхемы EPROM с окном для стирания УФ-светом

Рис. 3. Пример устаревшей микросхемы EPROM с окном для стирания УФ-светом

Энергозависимая память

Энергозависимая память RAM (Random Access Memory) или оперативное запоминающее устройство (ОЗУ) – это запоминающее устройство, которое сохраняет свое содержимое только при наличии напряжения питания. Существует два типа RAM: статическая и динамическая.

Ячейка динамического RAM или DRAM не только нуждается в присутствии напряжения питания, но и отличается постоянной потерей заряда, из-за чего содержимое DRAM требует периодической регенерации.

Статическая RAM или SRAM не требует регенерации и сохраняет свое содержимое при наличии напряжения питания.

В каких же случаях необходимо использовать SRAM или DRAM вместо любого из описанных выше энергонезависимых типов памяти? Ответ прост – в тех случаях, когда необходима высокая скорость и простота доступа к данным. Оперативная память оказывается не только намного быстрее энергонезависимых типов памяти, но и обеспечивает произвольный доступ к хранящимся в ней данным. Можно записывать или читать данные из любой области памяти с очень высокой скоростью, не беспокоясь о стирании страниц или блоков. Вместе с тем основным недостатком RAM является высокая стоимость. Таким образом, в большинстве вычислительных систем обычно используют комбинацию из RAM и flash-памяти. При этом каждый из этих типов памяти решает конкретные задачи, с учетом оптимального использования их преимуществ.

В категории энергозависимой памяти SRAM оказывается быстрее, чем DRAM, но при этом отличается и более высокой стоимостью. Это связано с тем, что для реализации ячейки SRAM требуется от четырех до шести транзисторов, а для ячейки DRAM требуется только один. Следовательно, на кристалле одного и того же размера можно уместить гораздо больше ячеек DRAM, чем ячеек SRAM.

В то же время для работы с DRAM требуется контроллер, который будет автоматически выполнять периодическую регенерацию содержимого памяти. Таким образом, использование DRAM вместо SRAM имеет смысл только в том случае, если стоимость контроллера перекрывается дешевизной DRAM-памяти.

SRAM чаще всего применяется в тех случаях, когда высокая скорость доступа имеет критическое значение, а объем необходимой памяти оказывается относительно небольшим.

Таким образом, SRAM обычно используется в микроконтроллерах, где небольшой объем статической памяти обеспечивает меньшую стоимость по сравнению с DRAM с собственным контроллером памяти. SRAM также используется в качестве высокоскоростной кэш-памяти внутри микропроцессоров, благодаря высокой скорости доступа.

Виды DRAM

Существуют различные виды DRAM. Исторически первые микросхемы DRAM сначала уступили место FPRAM (Fast Page RAM), которые в свою очередь были заменены на EDO RAM (Extended Data Output RAM), на смену которым, в конце концов, пришли микросхемы синхронной памяти DRAM или SDRAM.

Новые поколения SDRAM используют двойную скорость передачи данных (SDRAM included Double Data Rate). Речь идет о DDR2, DDR3 и DDR4.

Хотя каждое новое поколение SDRAM имело некоторые улучшения по сравнению с предыдущими поколениями, следует отметить, что сама базовая динамическая ячейка ОЗУ оставалась практически без изменений и обеспечивала лишь незначительное увеличение скорости доступа. С другой стороны, плотность размещения ячеек памяти или общее количество битов, упакованных в один чип, значительно увеличилось с течением времени. Тем не менее, основные улучшения в новых поколениях SDRAM были связаны именно с увеличением скорости передачи данных и уменьшением удельного энергопотребления.

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

Например, после того, как SDRAM-память получает команду чтения, она начинает выставлять данные спустя определенное количество тактов. Эта задержка известна как строб адреса столбца CAS (Column Address Strobe). Она имеет фиксированное значение для каждого модуля памяти.

Кроме того, в SDRAM считывание данных всегда синхронизируется по фронту тактового сигнала. Таким образом, процессор точно знает, когда ожидать запрошенные данные.

DDR DRAM

Говоря о первом поколении SDRAM, его часто называют памятью с однократной скоростью передачи данных или SDR (Single Data Rate). Следующим эволюционным шагом в развитии SDRAM стало появление DDR SDRAM (Double Data Rate SDRAM) или памяти с удвоенной скоростью передачи данных.

На рис. 4 показана разница в обмене данными при работе с SDR и DDR SDRAM. Обратите внимание, что на этом рисунке задержка CAS не показана.

Передача данных при работе с SDR и DDR

Рис. 4. Передача данных при работе с SDR и DDR. Прием данных DDR выполняется как по фронту, так и по срезу тактового сигнала

DDR2, DDR3 и DDR4

При переходе от SDR к DDR передача данных стала вестись как по фронту, так и по срезу тактового сигнала. Далее при переходе от DDR2 к DDR4 SDRAM скорость передачи возрастала за счет использования некоторых хитрых приемов. При этом, как уже упоминалось ранее, скорость доступа к содержимому ячейки памяти DRAM не сильно изменилась из-за ограничений базовой технологии. В реальности эту скорость удалось увеличить всего в два раза.

Модуль DDR-памяти, используемый в компьютерах

Рис. 5. Модуль DDR-памяти, используемый в компьютерах

Не вдаваясь в технические тонкости, можно отметить, что одним из «хитрых» способов повышения скорости передачи является увеличение разрядности шины данных. Очевидно, что если организация памяти позволяет считать за один цикл доступа сразу несколько битов, то это приводит к кратному увеличению скорости передачи данных.

Поскольку доступ к памяти обычно осуществляется последовательно, CAS определяет некоторую задержку между подачей команды чтения и готовностью данных. Следовательно, еще одна хитрость, позволяющая увеличить скорость чтения, заключается в поддержке циклов многократного чтения или в возможности предварительного выбора данных. Эти функции позволяют контроллеру памяти заранее подготовить новый блок данных для следующей передачи.

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

Заключение

В большинстве микропроцессорных устройств требуется как энергонезависимая, так и энергозависимая память. Однако выбор оптимального типа памяти зависит от особенностей конкретного приложения.

Память оказывает большое влияние на производительность, стоимость и энергопотребление. По этой причине выбор оптимального типа памяти является очень важной задачей.

Как и в случае со всеми инженерными задачами, разработка электронных устройств очень часто требует поиска компромиссных решений. Теперь, когда вы знаете о достоинствах и недостатках различных типов памяти, вы сможете выбрать оптимальный тип памяти для вашего нового устройства.

Читайте также: