Kievuz

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM

SDRAM

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM

И так, синхронная память SDRAM!  Все рассмотренные в предыдущих статьях типы памяти (FPM, EDO, BEDO) являются асинхрон­ными.

При асинхронной передаче данных гарантируется, что определенная опера­ция будет закончена за фиксированный промежуток времени, например за 60 нс.

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

С системной шины данные считываются контроллером, который синхронизирован с тактовой частотой. Следовательно, если данные появляются в ближайший момент за фронтом тактового импульса, то они будут считаны только с началом следу­ющего тактового импульса. Так происходит потому, что сигналом к считыванию данных является не уровень тактового импульса (высокий или низкий), а его фронт.

Поэтому при использовании асинхронной памяти часто возникает задержка с об­работкой данных, что, в свою очередь, приводит к жестким ограничениям на частоту системной шины FSB. Так, память страничного доступа FPM DRAM обеспечива­ла работу при тактовой частоте не более 40 МГц. Вследствие улучшения организа­ции доступа к памяти (EDO и BEDO) удалось повысить тактовую частоту до 66 МГц.

66 МГц — предельное значение частоты для асинхронной памяти. При более высоких частотах системной шины потребовалось найти способ преодоления су­щественных задержек. Поэтому на смену асинхронной памяти пришла синхронная динамическая память SDRAM (Synchronous DRAM).

Синхронная память SDRAM

При синхронной работе с памятью SDRAM обеспечивается синхронизация всех входных и выходных сигналов с тактами системного генератора.

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

После определенного числа тактовых циклов, количество которых считает специ­альный счетчик, данные становятся доступными и процессор может получить их с системной шины.

Помимо организации синхронного доступа к данным, память SDRAM имеет еще ряд принципиальных отличий от асинхронной памяти.

Весь массив памяти SDRAM модуля разделен на два независимых банка. Такое решение позволяет совмещать выборку данных из одного банка с установкой ад­реса в другом банке, то есть иметь одновременно две открытые страницы. Доступ к этим страницам чередуется (bank interleaving), и соответственно устраняются задержки, что обеспечивает создание непрерывного потока данных.

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

Существовало два типа синхронной динамической SDRAM-памяти: РС100 и РС133. Числа 100 и 133 определяют частоту системной шины, которую поддерживает эта память.

Соответственно, память PC 100 поддерживает максимальную частоту 100 МГц, а РС133 — 133 МГц. По своей внутренней архитектуре, способам управ­ления и внешнему дизайну модули памяти РС100 и РС133 были полностью иден­тичны.

Можно сказать, что память PC 133 — это разогнанный вариант PC 100.

Память принято характеризовать различными параметрами, среди которых основ­ным (точнее, первым из называемых) является пропускная способность канала данных — максимальное количество байт, передаваемых по каналу данных за еди­ницу времени (за одну секунду).

Память PC 100 и PC 133 имеет 64-битную (восьмибайтную) шину данных, то есть за каждый такт можно передать 8 байт данных. Следовательно, чтобы определить пропускную способность памяти, нужно умно­жить количество тактов передачи за одну секунду на количество байт, передаваемых за один такт.

Количество тактов обращений к памяти за одну секунду — это часто­та работы памяти. Таким образом, пропускная способность канала памяти опреде­ляется по формуле:

Пропускная способность (Мбайт/с) = Частота системной шины (МГц) • 8 байт.

Для памяти РС100 пропускная способность составит 100 МГц • 8 байт = 800 Мбайт/с, а для памяти РС133 — 1064 Мбайт/с, или приблизительно 1 Гбайт/с.

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

В то же время при этом не учитывается количество тактов, необ­ходимых для получения доступа к самой строке, а также для настроек (пробуждения) модуля памяти. Поэтому другими важными характеристиками памяти являются время доступа и время цикла.

Время доступа (RAS to active time, Tras) — это время, проходящее с мо­мента обращения к памяти до момента считывания данных. Данная величина приблизительно одинакова для всех типов динамической памяти и составляет примерно 50 не.

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

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

Но при последующих циклах обращения в пределах одной страницы время существенно меньше и составляет 10 не для памяти РС100 и 7,5 не для РС133 (7,5 не — длительность одного такта при частоте шины 133 МГц).

SDRAM: время доступа

Временная диаграмма работы памяти SDRAM

Время доступа (RAS to active time, Tras) — это время, проходящее с мо­мента обращения к памяти до момента считывания данных. Данная величина приблизительно одинакова для всех типов динамической памяти и составляет примерно 50 не.

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

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

Но при последующих циклах обращения в пределах одной страницы время существенно меньше и составляет 10 не для памяти РС100 и 7,5 не для РС133 (7,5 не — длительность одного такта при частоте шины 133 МГц).

меньшее количество тактов. Например, при цепочке 5-1-1-1 данные появляются без задержек, то есть с каждым тактовым импульсом. Сумма всех цифр цепочки показывает количество тактов, необходимых для получения четырех элементов.

Так, для памяти PC 133 реализуется схема 5-1-1-1, которая означает, что для до­ступа к данным требуется восемь тактов.

Для рассмотренной ранее памяти EDO реализуется схема 5-2-2-2 и для доступа требуется 11 тактов, а для памяти FPM схема 5-3-3-3 дает 14 тактов.

Микросхемы SDRAM-памяти каждый раз перед началом процесса чтения настра­иваются (подготовительный период) посредством установки специальных регистров.

Регистр режимов устанавливается перед первым обращением к памяти и затем переустанавливается по мере необходимости. После такта записи в регистр режи­мов обязательно должен следовать пустой такт.

Настройке посредством установки регистров подлежат следующие параметры: длина пакетного цикла, порядок счета адресов внутри пакетного цикла, CAS-латентность и тип операции с памятью.

Длина пакетного цикла (Burst Length, BL) — это количество обращений к после­довательным ячейкам памяти в пределах одной страницы, когда адресация колонок осуществляется за счет использования внутреннего счетчика адресов. В соответ­ствии с параметром BL настраивается цикл работы счетчика адресов. Длина пакет­ного цикла может быть равна 1, 2, 4, 8 или Full Page (последнее значение опреде­ляется длиной строки и обычно равно 256).

Порядок счета адресов внутри пакетного цикла может быть либо последовательный, либо чередующийся (interleave).

CAS-латентность (CAS latency) определяет задержку по времени в тактах, которая происходит с момента подачи сигнала CAS (с момента получения адреса столбца) до выдачи первого слова данных на шину. Для SDRAM-памяти эта задержка может составлять два или три такта.

SDRAM: тип операции

Тип операции с памятью (Operation Mode) может быть либо нормальным, когда используется пакетный режим для чтения и записи, либо специальным, когда применяется режим пакетного чтения и одиночных операций записи.

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

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

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

Через промежуток времени, называемый RAS to CAS delay (tRCD) — то есть за­держка в тактах подачи сигнала CAS относительно сигнала RAS, подается строби- рующий импульс CAS.

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

Затем, через время CAS latency (tCL), на шине данных появляется первое слово, которое может быть считано процессором. Каждое последующее слово (их коли­чество определяется длиной пакетного цикла) появляется на шине данных в оче­редном такте.

Завершение цикла обращения к банку памяти осуществляется подачей команды деактивации RAS Pre charge (tRP). Эта команда подается за один (при CAS latency = 2) или за два (при CAS latency = 3) такта перед выдачей последнего слова данных. Время деактивации также измеряется в тактах и может быть равно двум или трем.

Описанные промежутки времени RAS to CAS delay (tRCD), CAS latency (tCL) и время деактивации RAS Pre charge (tRP) определяют тайминг памяти, записы­ваемый в виде последовательности tCL —»tRCD -> tRP.

Понятно, что чем меньше тайминг, тем более быстродействующей является память.

Часто в характеристиках памяти указываются не все тайминги, а только показатель tCL (например, tCL7 или tCL8 для модулей памяти DDR3).

Источник: http://dammlab.com/osnovi-pk/companenty_pc/sinxronnaya-pamyat-sdram.html

Типы оперативной памяти: DDR, SDR, SRAM, GDDR, DRAM, SDRAM

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM
10.01.2019, 15:52   · :15

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

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

В основном вся оперативная память в служит одной и той же цели.

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

Некоторые типы ОЗУ

Известные типы ОЗУ:

  • Статическая RAM (SRAM)
  • Динамическое ОЗУ (DRAM)
  • Синхронное динамическое ОЗУ (SDRAM)
  • Синхронное динамическое ОЗУ с одной скоростью передачи данных (SDR SDRAM)
  • Синхронное динамическое ОЗУ с двойной скоростью передачи данных (DDR SDRAM, DDR2, DDR3, DDR4)
  • Синхронное динамическое ОЗУ с двойной скоростью передачи данных (GDDR SDRAM, GDDR2, GDDR3, GDDR4, GDDR5)
  • Флэш-память

Что такое оперативная память?

Плашки ОЗУ в материнской плате

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

Если не хватает места на бумаге, вы стираете то, что вам больше не нужно.

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

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

Оперативная память имеет различные формы (то есть физическое соединение с вычислительными системами или взаимодействие с ними), емкости (измеряемые в МБ или ГБ), скорости (измеряемые в МГц или ГГц) и архитектуры. Эти и другие аспекты важно учитывать при обновлении систем с ОЗУ, поскольку компьютерные системы (например, аппаратные средства, материнские платы) должны придерживаться строгих критериев.

Правила совместимости:

  • Компьютеры старого поколения вряд ли приспособят более современные типы технологий оперативной памяти
  • Память ноутбука не помещается на десктопах (и наоборот)
  • RAM не всегда обратно совместима
  • Система не может смешивать и сочетать разные типы/поколения ОЗУ вместе

Статическая RAM (SRAM)

RAM

  • Время на рынке: 1990-е годы по настоящее время
  • Популярные продукты с использованием SRAM: цифровые камеры, маршрутизаторы, принтеры, ЖК-экраны

SRAM – один из двух основных типов памяти (другой – DRAM), требует постоянного потока энергии для функционирования.

Из-за постоянной мощности SRAM не нужно «обновлять», чтобы помнить о сохраняемых данных. Вот почему SRAM называется «статическим» – никаких изменений или действий (например, обновление) не требуется, чтобы сохранить данные нетронутыми. SRAM это энергозависимая память.

Это означает что все данные, которые были сохранены, теряются после отключения питания.

Преимуществами использования SRAM (по сравнению с DRAM) считается низкое энергопотребление и высокая скорость доступа. Недостатками использования SRAM (по сравнению с DRAM) это меньшая емкость памяти и высокие затраты на производство.

Из-за этих характеристик SRAM используется в таких компонентах:

  • Кэш процессора (например, L1, L2, L3)
  • Буфер/кэш жесткого диска
  • Цифро-аналоговые преобразователи (ЦАП) на видеокартах

Динамическое ОЗУ (DRAM)

DRAM

  • Время на рынке: с 1970-х до середины 1990-х
  • Популярные продукты с использованием DRAM: игровые приставки, сетевое оборудование

DRAM, один из двух основных типов памяти (другой – SRAM), требует периодического «обновления» мощности для функционирования.

Конденсаторы, которые хранят данные в DRAM, постепенно разряжают энергию. Отсутствие энергии означает, что данные теряются. Поэтому DRAM называется «динамическим» – постоянные изменения или действия (например, обновление) необходимы для сохранения данных нетронутыми. DRAM также считается энергозависимой памятью.

Это означает, что все сохраненные данные теряются при отключении питания.

Преимущества использования DRAM (по сравнению с SRAM) заключаются в низких затратах на производство и большей емкости памяти. Недостатками использования DRAM (по сравнению с SRAM) являются более медленные скорости доступа и высокое энергопотребление.

Из-за этих характеристик DRAM используется в таких устройствах:

  • Системная память
  • графическая память

В 1990-х годах разработана расширенная динамическая ОЗУ с данными (EDO DRAM), за которой последовала ее эволюция, ОЗУ Burst EDO (BEDO DRAM). Эти типы памяти были привлекательны благодаря повышенной производительности/эффективности при меньших затратах. Но технология устарела в результате разработки SDRAM.

Синхронное динамическое ОЗУ (SDRAM)

SDRAM

  • Время на рынке: с 1993 года по настоящее время
  • Популярные продукты с использованием SDRAM: компьютерная память, игровые приставки

SDRAM – это классификация DRAM, которая работает синхронно с тактовой частотой процессора.

В начале ожидает тактового сигнала, прежде чем ответить на ввод данных (например, пользовательский интерфейс). DRAM считается асинхронным, так как немедленно реагирует на ввод данных.

Но преимущество синхронной работы состоит в том, что ЦП может параллельно обрабатывать перекрывающиеся инструкции, также известные как «конвейерная обработка» – возможность получать (читать) новую инструкцию до того, как предыдущая инструкция полностью разрешена (запись).

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

Обработка одной инструкции чтения и одной записи за такт приводит к более высокой общей скорости передачи/производительности ЦП.

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

Синхронное динамическое ОЗУ с одной скоростью передачи данных (SDR SDRAM)

SDR SDRAM

  • Время на рынке: с 1993 года по настоящее время
  • Популярные продукты с использованием SDR SDRAM: компьютерная память, игровые приставки

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

Сравнение между SDR SDRAM и DDR SDRAM:

  • DDR SDRAM считается разработкой второго поколения SDR SDRAM

Синхронное динамическое ОЗУ с двойной скоростью передачи данных (DDR SDRAM)

DDR SDRAM

  • Время на рынке: с 2000 года по настоящее время
  • Популярные продукты с использованием DDR SDRAM: память компьютера

DDR SDRAM работает как SDR SDRAM, только в два раза быстрее.

DDR SDRAM способна обрабатывать две инструкции чтения и две записи за такт (следовательно, «двойной»). Функция DDR SDRAM аналогична, и имеет физические различия (184 контакта и один паз на разъеме) по сравнению с SDR SDRAM (168 контактов и две выемки на разъеме).

DDR SDRAM также работает при низком стандартном напряжении (2,5 В от 3,3 В), предотвращая обратную совместимость с SDR SDRAM.

  • DDR2 SDRAM – это эволюционное обновление до DDR SDRAM. Несмотря на удвоение скорости передачи данных (обработка двух команд чтения и двух команд записи за такт), DDR2 SDRAM работает быстрее, поскольку может работать на более высоких тактовых частотах. Стандартные (не разогнанные) модули памяти DDR работают с частотой 200 МГц, тогда как стандартные модули памяти DDR2 работают с частотой 533 МГц. DDR2 SDRAM работает при более низком напряжении (1,8 В) с большим количеством контактов (240), что предотвращает обратную совместимость.
  • DDR3 SDRAM повышает производительность по сравнению с DDR2 SDRAM благодаря улучшенной обработке сигналов (надежности), большей емкости памяти, более низкому энергопотреблению (1,5 В) и более высоким стандартным тактовым частотам (до 800 МГц). Хотя DDR3 SDRAM имеет то же количество контактов, что и DDR2 SDRAM (240), все остальные аспекты препятствуют обратной совместимости.
  • DDR4 SDRAM повышает производительность по сравнению с DDR3 SDRAM благодаря более продвинутой обработке сигналов (надежности), еще большей емкости памяти, еще более низкому энергопотреблению (1,2 В) и более высоким стандартным тактовым частотам (до 1600 МГц). DDR4 SDRAM использует 288-контактную конфигурацию, что также предотвращает обратную совместимость.

Синхронное динамическое ОЗУ с двойной скоростью передачи данных (GDDR SDRAM)

Память видеокарты на чипах GDDR5 SDRAM

  • Время на рынке: с 2003 года по настоящее время
  • Популярные продукты, использующие GDDR SDRAM: видеокарты, некоторые планшеты

GDDR SDRAM – это тип DDR SDRAM, специально разработанный для рендеринга видео графики, обычно в сочетании с выделенным графическим процессором (графическим процессором) на видеокарте. Современные компьютерные игры выходят за рамки невероятно реалистичной среды с высоким разрешением, часто требуя здоровенных системных характеристик и лучшего оборудования для видеокарт (особенно при использовании дисплеев с высоким разрешением 720p или 1080p).

Память видеокарты на чипах GDDR5 SDRAM

  • Подобно DDR SDRAM, GDDR SDRAM имеет собственную эволюционную линию (повышение производительности и снижение энергопотребления): GDDR2 SDRAM, GDDR3 SDRAM, GDDR4 SDRAM и GDDR5 SDRAM.

Несмотря на то, что у DDR ​​SDRAM есть похожие характеристики, GDDR SDRAM – не совсем то же самое. Существуют заметные различия в том, как работает GDDR SDRAM, в том что касается пропускной способности по сравнению с задержкой.

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

Представьте себе шоссе с 16 полосами, установленным на 55 миль в час. Для сравнения, ожидается, что DDR SDRAM будет иметь низкую задержку, чтобы немедленно реагировать на процессор – вспомним двухполосную магистраль, установленную на 85 миль в час.

Флэш-память

Чип памяти внутри флешки

  • Время на рынке: с 1984 года по настоящее время
  • Популярные продукты, использующие флэш-память: цифровые камеры, смартфоны/планшеты, портативные игровые системы/игрушки

Флэш-память – это тип энергонезависимого носителя данных, который сохраняет все данные после отключения питания. Несмотря на название, флэш-память ближе по форме и действию (то есть к хранилищу и передаче данных) к твердотельным накопителям, чем ранее упомянутые типы ОЗУ.

Флэш-память чаще используется в таких устройствах:

  • Флешки
  • Принтеры
  • Портативные медиаплееры
  • Карты памяти
  • Малая электроника/игрушки
  • PDAs

Источник: http://fps-up.ru/computer/tipy-operativnoj-pamyati-ddr-sdr-gddr-dram-sram

Технология DDR SDRAM: решения и перспективы

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM

Технология синхронной ди­на­ми­че­ской па­мя­ти Double Data Rate объеди­ня­ет не­сколь­ко по­ко­ле­ний, ве­ду­щих свое на­ча­ло от DDR SDRAM. И хотя ее вре­мя уш­ло, ха­рак­те­рис­ти­ки ро­до­на­чаль­ни­ка бу­дут хо­ро­шим фо­ном для оцен­ки ны­неш­них до­сти­же­ний и, глав­ное, — пер­спек­тив.

В силу исторических причин плат­фор­мы с мно­го­ка­наль­ным до­сту­пом к ОЗУ, по­лу­чи­ли ши­ро­кое рас­про­ст­ра­не­ние с по­я­в­ле­ни­ем DDR-па­мя­ти, хо­тя про­ти­во­ре­чия меж­ду клас­си­че­ской SDRAM и мно­го­ка­наль­но­стью нет. След­ст­ви­ем из это­го, ка­за­лось бы, ма­ло­зна­чи­тель­но­го фак­та яв­ля­ет­ся пре­ем­ст­вен­ность по­ко­ле­ний Double Data Rate, ре­а­ли­зо­ван­ных в виде DIMM-мо­ду­лей с 64-битной ши­ной дан­ных.

Общим для планок памяти с поддержкой DDR яв­ля­ет­ся также один-единственный защитный «зуб» (напомним, что мо­ду­ли SDRAM содержали два выреза).

Причина этого вполне очевидна — экономия места для все возрастающего ко­ли­че­ст­ва контактных пло­ща­док. Форм-фактор ведь для всех DIMM-мо­ду­лей остался прежним — 133,35 мил­ли­мет­ра.

Кста­ти сказать, SODIMM-модули для мобильных платформ такой стабильностью похвастать не могут.

Все модули с технологией DDR выпускаются как в буферизированном регистровом, так и в небуферизированном ис­пол­не­нии. Существуют также реализации памяти с коррекцией ошибок (ECC). Обязательный элемент — кон­фи­гу­ра­ци­онн­ый чип SPD.

Оверклокерские платформы позволяют применять установки пользователя, частично иг­но­ри­руя SPD. DIMM-модули для энтузиастов поддерживают так называемые оверклокерские профили, раз­ре­ша­ю­щие раз­гон в со­от­вет­ст­вии с ре­ко­мен­да­ци­я­ми производителя памяти.

Важнейшими параметрами в этом контексте яв­ля­ют­ся час­то­ты, тайминги и питающие напряжения.

Рис 1. Сводная таблица сравнительных характеристик модулей памяти DDR…DDR4

На этом сходство реализаций синхронной динамической памяти с первым поколением технологии Double Data Rate заканчивается, уступая место существенным различиям, формирующим собственное лицо каждого DDR-поколения.

Буфер предвыборки

Наиболее сложный архитектурный трюк реализован в виде буфера предвыборки (в технической ли­те­ра­ту­ре — Pre­fetch Buf­fer). В популярных обзорах иногда встречается мессидж о том, что это количество бит, одновременно доступных по тактирующему сигналу контроллера памяти.

На самом же деле 2-х, 4-х или 8-битный буфер предвыборки в контексте интерфейса SDRAM отражает со­от­но­ше­ние разрядностей внешней и внутренней шины данных микросхемы памяти.

Например, если каждый бит внешней шины обслуживается 8 линиями внутренней (8N-Prefetch), то микросхема памяти может быстро принять или пе­ре­дать пакет из 8 бит, поскольку для выбора каждого бита в пределах такого пакета требуется только вну­три­чи­по­вая коммутация без операций с запоминающей матрицей.

В этом случае за один цикл обращения к DDR3/DDR4 дей­ст­ви­тель­но можно получить 8 бит, но уж точно это произойдет не за один такт, даже в случае операций по обе­им фрон­там синхроимпульса.

Рис 2. Рост производительности ОЗУ на фоне снижения уровней питающих напряжений

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

Для сво­е­вре­мен­ной продажи билетов в каждую кассу нужно будет посадить по два кассира.

Итак, если количество зри­те­лей, входящих в кинотеатр за единицу времени увеличилось вдвое, можно говорить об эффективном ис­поль­зо­ва­нии 2N-Prefetch бу­фе­ра.

Получив экономический эффект от такой затеи, владелец кинотеатра решается на постройку нового здания, в ко­то­ром будет уже два кинозала и в два раза больше касс, в каждой из которых резервируется место для двух кас­си­ров. Это мо­дель DDR2 SDRAM с задействованным 4N-Prefetch буфером.

Очевидно, тенденцию можно продолжать, увеличивая количество кинозалов, касс и кассиров, а значит и рост по­се­щаемости — количество зрителей, обслуживаемых за единицу времени (пропускную способность).

Но при этом дли­тель­ность сеанса (латентность) зависит от про­дол­жи­тель­но­сти кинофильма, а потому является кон­сер­ва­тив­ным параметром, радикально изменить который в существующих реалиях невозможно.

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

Хотя аналогию с кинотеатром, которая была бы одновременно безупречна как с то­чки зре­ния топологии, так и с точ­ки зре­ния влияния на скорость, подобрать сложно, но восемь кассиров достаточно точно соответствуют наз­на­че­нию бу­фе­ра предвыборки 8N-Prefetch. Кинозалы в нашем примере символизируют банки памяти во внутренней струк­ту­ре ми­кро­схе­мы DDR SDRAM.

О банках и рангах памяти ddr sdram

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

) мы видим, что и DDR, и DDR2 имели двукратный запас, а память DDR3 достигла порога насыщения в этой части, проиграв DDR4.

Следуя при­ве­де­нной выше аналогии, этому соответствует создание новых кинозалов, когда исчерпаны все возможности по уп­лот­не­нию рядов.

Рис 3. Способ организации многоранговых (одно- и двухсторонних) модулей памяти DDR SDRAM

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

Их ис­поль­зо­ва­ние ограничено разрядностью 64-битной шины дан­ных, но с этим как раз проблем нет — выход из по­ло­же­ния давно найден.

Его суть — в мно­го­ран­го­вой памяти (теперь у нас в одном месте не­сколь­ко ки­но­те­ат­ров, каж­дый из которых состоит из нескольких залов).

О терминации

Важным фактором стабильности DDR-памяти в условиях постоянного снижения рабочего напряжения является оп­ре­де­лен­ность логических уровней в сигнальных цепях.

Решение этой задачи делегировано схемам элек­три­че­ской терминации сигналов.

Если первое поколение DDR SDRAM предполагает наличие терминирующих ре­зис­то­ров под­тяж­ки на системной плате, начиная с DDR2 та­ко­вые уже пе­ре­ме­ща­ют­ся на модули памяти, а точнее — в сами чипы.

Рис 4. Согласующие резисторные сборки на плате DIMM-модуля синхронной динамической памяти с технологией Double Data Rate включаются последовательно с линиями шины данных, тактирования и управления

Из сводной таблицы характеристик (Рис 1.) следует, что в самой современной DDR4-памяти метод терминации су­щест­вен­но переосмыслен и вместо VTT используется VDDQ, что позволило несколько снизить средний ток, по­тре­б­ля­емый микросхемами памяти.

О производительности

Наилучшее представление о реальном положении дел дает сравнительная диаграмма тактовых частот, за­дейст­во­ван­ных в работе всех поколений синхронной динамической памяти с технологией Double Data Rate.

Рис 5. Сводная диаграмма внутренних частот тактирования запоминающей матрицы DDR…DDR4
(дискретность изменения — 33 МГц)

Наилучшие результаты (ожидаемо) у DDR4, предлагающей модули памяти с тактовой частотой от 200 до 400 МГц. Частота шины для них составляет (с учетом буфера предвыборки) от 800 МГц до 1,6 ГГц, а эффективная скорость передачи данных, благодаря Double Data Rate, еще и удваивается — от 1600 до 3200 транзакций в секунду.

Рис 6. Динамика рост производительности DDR-памяти

Синхронная динамическая память с технологией Double Data Rate демонстрирует впечатляющий рост про­из­во­ди­тель­но­с­ти. Вместе с этим накапливаются и негативные тенденции — рост задержек в работе DDR SDRAM.

Ведь вре­мя, необходимое для чтение или записи ячейки памяти определяется не только частотой тактирования (так­то­вым пе­ри­о­дом), но и количеством тактов затраченных на выполнение операции, включая нарастающие такты за­держ­ки.

Один из самых показательных таймингов CAS Latency в процессе эволюции увеличился, как минимум, в пять раз, по­те­ряв индикативный статус привлекательности памяти.

Источник: https://composter.com.ua/content/tehnologiya-ddr-sdram-resheniya-i-perspektivy

Технология SDRAM: от SDR до DDR4

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM

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

«Стара как мир…», — это еще слабо сказано. Оперативная память наряду с процессором и системной платой является старожилом любой ЭВМ. Изначально на задворках компьютерного развития бытовал такой термин, как платформа (он и сейчас есть, но имеет несколько иной смысл).

Именно под платформой и подразумевали эти три «железки». Время шло, компьютерные комплектующие развивались. Но до сих пор процессор, системная плата и ОЗУ остаются незыблемыми частями любого ПК. Незыблемыми! И без оперативной памяти сегодня по-прежнему не обойтись.

Принцип работы и «миссия» ОЗУ проста до безобразия. Модуль памяти является связующим звеном между ПЗУ (читай — HDD/SSD) и центральным процессором. И нужны «мозги» компьютеру в силу того, что современные накопители (даже твердотельные!) не имеют тех скоростных качеств, что и SDRAM.

В свою очередь, оперативка обладает небольшими объемами (относительно ПЗУ) и высокой пропускной способностью. Именно поэтому ее и нарекли «оперативной». То есть той, что быстро, почти моментально поставляет данные центральному процессору.

К тому же те же массивы матриц (математические), текстуры, сценарии игр и прочие данные проще сразу подгрузить в оперативную память и там их обрабатывать. Именно поэтому объем ОЗУ имеет чуть ли не первостепенное значение. Но об этом чуть позже.

Для сравнения, скорость чтения жесткого диска на сегодняшний день достигает 100- 150 Мбайт/с. Производительность твердотельного накопителя — 500-600 Мбайт/с.

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

SDRAM

Собственно говоря, вот я и дошел до SDRAM. Данная аббревиатура расшифровывается как Synchronous Dynamic Random Access Memory — синхронная динамическая память с произвольным доступом. Динамическая, потому что память постоянно требует обновления из-за малой емкости конденсаторов (есть и статическая память, не требующая обновления, но про нее я сегодня умолчу).

Синхронная, потому что память выполняет каждую операцию известное число времени (читай — тактов). Чисто технически это выглядит следующим образом: контроллер памяти подает запрос и ждет необходимые данные (причем знает, сколько времени эти данные будут до него добираться). Именно синхронность позволяет управлять потоком данных, выстраивая их в ряд, образуя конвейер.

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

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

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

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

Причем процессору как бы «фиолетово», он будет продолжать считать эти данные единым целым. Всю «грязную работенку» в этом случае выполняет контроллер памяти. Модуль плотностью до 64 Мбит имеет два банка. Модуль с плотностью 64 Мбит и выше — четыре банка, с плотностью 1 Гбит и выше — 8 банков. Логично и утверждение, что чем больше банков — тем лучше.

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

Под модулем памяти мы всегда подразумеваем печатную плату с распаянными на ней чипами. Для настольного сегмента, как правило, используются модули памяти форм-фактора DIMM (Dual In-line Memory Modules) и SO-DIMM (Small Outline Dual In-line Memory Module).

Первые — для полноценных десктопов, вторые — для ноутбуков. Кроме того, на печатной плате расположены энергонезависимая память (для хранения SPD). Модуль памяти SDR имеет 144 пина для подключения к системной плате; DDR имеет 172 контакта; DDR2 — 214 пинов, a DDR3 — все 240.

A SO-DIMM, в свою очередь, имеет в своем распоряжении 204 контакта.

Объем модуля памяти равен сумме объемов используемых в нем чипов. Причем чипы бывают разной плотности. Все модули памяти имеют минимум 64-битную шину.

Есть еще 72-битные модули с коррекцией ошибок (ЕСС), в которых 8 бит предназначено непосредственно для этой самой коррекции. Следовательно, модули памяти передают за такт 8 байт информации.

В итоге легко рассчитать теоретическую пропускную способность модуля памяти по следующей формуле: А*64/8=ПС, где «А» — скорость передачи данных, а «ПС» — искомая пропускная способность.

Например, модуль с эффективной частотой 800 МГц обладает производительностью 800*64/8=6400 Мбайт/с. Именно это значение и записывают в технических характеристиках устройства под видом РС2- 6400. Так, модуль памяти DDR3 с формулировкой РСЗ-20000 должен работать на частоте 20000*8/64=2500 МГц.

Ширина шины модуля памяти равна сумме ширин шин чипов этого модуля. Поэтому, если на модуле распаяно четыре чипа, то ширина каждого равна 64/4=16 бит. Если 8 чипов, то 64/8=4 бита.

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

Соответственно, на каждый чип приходится 64/16=4 бит шины, то есть каждый чип обладает плотностью 4096 Мбит.

Для чтения информации из ячейки подается адресный сигнал в соответствующую строку (Row). А затем данные считываются из соответствующей колонки (Column). Также отмечу, что массив памяти обладает так называемым sense amplifiers — механизмом подзарядки конденсаторов, усилителем.

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

В итоге мы получаем архитектуру чипа: с разрядностью (шириной) шины и глубиной чипа. Чип плотностью 512 Мбит и разрядностью 4 имеет глубину чипа 512/4=128М. В свою очередь, 128М=32М*4 банка. 32М — это матрица, имеющая 16 ООО строк и 2000 столбцов, которая может хранить 32 Мбит данных. Все взаимосвязано.

Модуль памяти может быть представлен и в геометрической форме, где ширина всегда равна 64 бит, а глубина — объему модуля в битах, поделенному на 64.

От SDR к DDR

В итоге, что мы имеем? Модуль памяти SDR- 100 МГц емкостью 256 Мбайт — это печатная плата с 144 контактами, 4 чипами, работающими на частоте 100 МГц. То есть скорость передачи данных равна 100 МГц.

Но впоследствии производители памяти столкнулись с прогнозируемой проблемой: чипы памяти не могли работать на большей частоте.

Дилемму можно было решить увеличением разрядности модуля (то есть увеличением

числа чипов), но этот выход из ситуации не в лучшую сторону сказался бы на стоимости производства ОЗУ.

Тогда в JEDEC решили пойти другим путем: увеличить ширину шины внутри самого чипа памяти, но оставить его работать на прежней частоте, а информацию доставлять и забирать по шине с удвоенной частотой и прежней шириной.

Также данные стали передаваться не один раз за такт, а сразу два раза за такт — по обоим фронтам тактового сигнала (ниспадающему и нарастающему). Так и появилась оперативная память стандарта DDR (Double Data Rate), что в переводе с английского означает «удвоенная скорость передачи данных».

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

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

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

В итоге в случае с технологией DDR мы видим, что мы не можем считать менее чем два пакета данных, поскольку внутри чип будет его видеть как единое целое, один пакет. Такая архитектура получила название 2″ prefect, где п — цифра (степень), означающая поколение DDR (DDR1, DDR2, DDR3, DDR4). Она показывает, сколько данных (читай — пакетов) за раз выбирается при чтении.

От DDR к DDR4

Если у модулей SDR показатели считывались в мегагерцах, то у DDR — в миллионах передач в секунду через один выход данных! Поэтому запись «DDR 400 МГц» не соответствует действительности и лишена здравого смысла. Хотя бы потому, что шина модуля памяти DDR-400 работает на реальной частоте 200 МГц и только передает данные два раза за такт.

Тем не менее, у производителей памяти сложилось стойкое ощущение, что надо использовать термин «мегагерц». Так короче и аппетитнее для покупателей. Ведь как звучит и завораживает: модуль памяти с частотой 2800 МГц! Именно поэтому появились такие понятия, как реальная и эффективная частота модуля памяти.

Реальная частота — частота шины модуля: эффективная — удвоенная частота шины модуля.

Согласно архитектуре 2Л prefect, оперативная память DDR2 обладает внутренней шиной вчетверо больше разрядности. Плюс возросшую производительность чипа стали передавать по внешней шине с удвоенной частотой.

В итоге, если у DDR-400 чип работал на скорости 200 МГц, то у DDR2-400 — на скорости 100 МГц, но с вдвое большей внутренней шиной. Соответственно, у DDR2-800 чип будет работать на частоте 200 МГц, у DDR2- 1066 — на частоте 266.6 МГц.

В DDR3-800 частота чипа станет уже 100 МГц, внутренняя шина будет уже в восемь раз больше, а внешняя частота не изменится и останется равной 400 МГц.

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

В итоге, какой вывод мы можем сделать? Получается, что производительность DDR- памяти зависит от пропускной способности, но не от технологии. С каждым новым поколением будет увеличиваться длина минимального пакета данных Burst length.

Если у DDR она составляла не менее 128 бит, то с DDR2 мы не могли считать с одного модуля менее 256 бит (BL=4), а с DDR3 — не менее 512 бит (BL=8). Для DDR4 выборка будет составлять 16 пакетов или 1024 бит данных.

Конечно, смена поколений DDR сопровождается не только увеличением Burst length

и увеличением внешней частоты. Корпорации по производству оперативной памяти осваивают новые техпроцессы. Плотность чипов постоянно растет, как и частоты. При этом уменьшается энергопотребление. Если модуль DDR в свое время потреблял 2.5 В, DDR2 — 2 В, то модуль памяти DDR3 потребляет всего 1.35 В. А переход на DDR4 будет означать, что модуль памяти будет потреблять в районе одного вольта.

Источник: http://pascom.ru/tehnologiya-sdram-sdr-ddr4.php

Терминология – SDRAM

СИНХРОННАЯ ДИНАМИЧЕСКАЯ ПАМЯТЬ – SDRAM

SDRAM (Synchronous Dynamic Random Access Memory) – синхронная динамическая память, обладающая произвольным доступом. Это вид запоминающего устройства, которое применяется в ПК и выполняет роль оперативной памяти.

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

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

По сути, работа представляет собой конвейерную обработку: сразу за командой записи следует новая команда, минуя ожидания завершения записи предыдущих данных.

Так, поступление команды чтения приводит к тому, что на выходе данные появляются через какое-то число тактов. Такое время именуется задержкой (SDRAM latency) и является чуть ли не самым главным показателем этого типа устройств.

https://www.youtube.com/watch?v=oTJzyrdiquM

Циклы обновления производятся сразу для всей строки, по сравнению с предыдущими типами DRAM, которые обновляли данные по внутреннему счетчику. В них применялся метод обновления по команде CAS перед RAS.

История

Массовое производство и популярность SDRAM зародились в 1993 году. Изначально, данный тип памяти выступал в виде альтернативы дорогой видеопамяти (VRAM).

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

После создания модернизированного стандарта DDR SDRAM последовала целая цепочка логических обновлений: DDR2 SDRAM, а позже – DDR3 SDRAM.

SDR SDRAM

При выходе на рынок стандартов-последователей, SDRAM стал называться SDR (Single Data Rate — в противоположность Double Data Rate). Одним тактом считалась одна управляющая команда, в которой передавалось одно слово данных. Стандартными тактовыми частотами считались: 66, 100 и 133 MHz. 

Микросхемы SDRAM имели различные шины данных, ширина которых различалась (4, 8 или 16 бит). Обычно, такие микросхемы входили в состав 168-пинного модуля DIMM, который давал возожность прочитать/записать 64 бита (без контроля четности) или 72 бита (с контролем четности) за один такт.

Шина данных SDRAM отличалась задержкой в 2-3 такта, существовшей между подачей сигнала и получением данных. При этом, согласно спецификации, во время записи не должно было быть задержек. Специалисты решили эту проблему путем создания специального контроллера, который не допускал применения шины данных в одновременных операциях записи и чтения.

Управляющие команды

Команды управления модулем памяти SDR SDRAM подаются по 7 сигнальным линиям. Одна из них несет тактовый сигнал, передние фронты которого задают моменты времени, за которые производится считывание команды управления с остальных 6 линий. 

Приведем имена и расшифровки командных линий:

  • CKE (clock enable) — блокировка подачи тактового сигнала на микросхему, в случае возникновения сигнала низкого уровня. Обработка команд не производится, состояние прочих командных линий не рассматривается.
  • /CS (chip select) — все другие управляющие линии, за исключением CKE, не рассматриваются, в случае высокого уровня сигнала. Аналогична команде NOP (отсутствие оператора).
  • DQM (data mask) — запрет высокого уровня линии на чтение или запись данных. В случае одновременно-поданной команды записи, запись данных в DRAM не производится. Этот сигнал, находящийся в двух тактах, предшествующих циклу чтения, не дает данным считываться из памяти. 
  • /RAS (row address strobe) — Один командный бит, способный совместно с /CAS и /WE осуществлять кодировку одной из восьми команд.
  • /CAS (column address strobe) — Один командный бит, способный совместно с /RAS и /WE осуществлять кодировку одной из восьми команд.
  • /WE (write enable) — Совместно с /RAS и /CAS осуществляет кодировку одной из восьми команд.

Модули памяти SDRAM разделены внутренне на 2 или 4 независимых банка памяти. Входами адреса 1-го и 2-го банка памяти (BA0 и BA1) определяется, какому банку предназначена команда.

Принимаются следующие команды:

/CS

/RAS

/CAS

/WE

BAn

A10

An

Команда

В

x

x

x

x

x

x

задержка команды (отсутствие операции)

Н

В

В

В

x

x

x

отсутствие операции

Н

В

В

Н

x

x

x

остановить текущую операцию пакетного чтения/записи.

Н

В

Н

В

№ банка

Н

№ столбца

считать пакет данных из активного в настоящий момент ряда.

Н

В

Н

В

№ банка

В

№ столбца

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

Н

В

Н

Н

№ банка

Н

№ столбца

записать пакет данных в активный в настоящий момент ряд.

Н

В

Н

Н

№ банка

В

№ столбца

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

Н

Н

В

В

№ банка

№ ряда

открыть ряд для операций записи/чтения.

Н

Н

В

Н

№ банка

Н

x

деактивировать текущий ряд выбранного банка.

Н

Н

В

Н

x

В

x

деактивировать текущий ряд всех банков.

Н

Н

Н

В

x

x

x

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

Н

Н

Н

Н

0 0

РЕЖИМ

с линий A0—A9 загрузить в микросхему параметры конфигурирования.

Наиболее важные — CAS latency (2-3 такта) и длина пакета (1, 2, 4, 8 тактов)

Источник: https://www.alterbit.ru/glossary198.html

ovdmitjb

Add comment