Введение

Тип компьютерной памяти

Динамическая память с произвольным доступом (динамическая оперативная память или DRAM) — это тип полупроводниковой памяти с произвольным доступом, которая хранит каждый бит данных в ячейке памяти, обычно состоящей из крошечного конденсатора и транзистора, оба из которых, как правило, основаны на технологии металл-оксид-полупроводник (MOS). Хотя большинство конструкций ячеек памяти DRAM используют конденсатор и транзистор, некоторые используют только два транзистора. В конструкциях, где используется конденсатор, конденсатор может быть заряжен или разряжен; эти два состояния принимаются для представления двух значений бита, обычно называемых 0 и 1. Электрический заряд на конденсаторах постепенно утекает; без вмешательства данные на конденсаторе вскоре будут потеряны. Чтобы предотвратить это, DRAM требует внешней схемы восстановления памяти, которая периодически перезаписывает данные в конденсаторах, восстанавливая их до первоначального заряда. Этот процесс восстановления является определяющей характеристикой динамической памяти с произвольным доступом, в отличие от статической памяти с произвольным доступом (SRAM), которая не требует восстановления данных. В отличие от флэш-памяти, DRAM является энергозависимой памятью (в отличие от энергонезависимой памяти), поскольку она быстро теряет свои данные при отключении питания. Однако DRAM демонстрирует ограниченное сохранение данных. DRAM обычно имеет форму интегральной микросхемы, которая может состоять от десятков до миллиардов ячеек памяти DRAM. Чипы DRAM широко используются в цифровой электронике, где требуется компьютерная память с низкой стоимостью и высокой емкостью. Одно из самых больших применений DRAM — это основная память (в разговорной речи называемая «оперативной памятью») в современных компьютерах и видеокартах (где «основная память» называется графической памятью). Она также используется во многих портативных устройствах и игровых консолях. В отличие от SRAM, которая быстрее и дороже, чем DRAM, обычно используется там, где скорость важнее стоимости и размера, например, в кэш-памяти процессоров. Необходимость восстановления DRAM требует более сложной схемы и синхронизации, чем SRAM. Это компенсируется структурной простотой ячеек памяти DRAM: на бит требуется только один транзистор и конденсатор, по сравнению с четырьмя или шестью транзисторами в SRAM. Это позволяет DRAM достигать очень высокой плотности при одновременном снижении стоимости на бит. Восстановление данных потребляет энергию, и используются различные методы для управления общим энергопотреблением. В 2017 году цена на бит DRAM выросла на 47%, что стало самым большим скачком за 30 лет с 45% скачка в 1988 году, в то время как в последние годы цена снижается. В 2018 году «ключевой характеристикой рынка DRAM является то, что в настоящее время существует только три основных поставщика — Micron Technology, SK Hynix и Samsung Electronics», которые «достаточно жестко контролируют свои производственные мощности». Также есть Kioxia (ранее Toshiba Memory Corporation после выделения в 2017 году). Другие производители производят и продают модули DIMM (но не чипы DRAM в них), такие как Kingston Technology, а некоторые производители продают уложенную DRAM (используемую, например, в самых быстрых суперкомпьютерах экзафлопсного класса) отдельно, такие как Viking Technology. Другие продают ее в составе других продуктов, такие как Fujitsu в своих процессорах, AMD в графических процессорах и Nvidia с HBM2 в некоторых своих графических чипах.

История

Криптоаналитическая машинная кодовая система под названием "Аквариус", использованная в Блетчли-Парке во время Второй мировой войны, включала в себя аппаратную динамическую память. Бумажная лента считывалась, а символы на ней "запоминались в динамическом хранилище". Хранилище использовало большой банк конденсаторов, которые либо заряжались, либо оставались незаряженными: заряженный конденсатор представлял собой единицу (1), а незаряженный – ноль (0). Поскольку заряд постепенно утекал, для поддержания заряда в еще заряженных конденсаторах периодически подавался импульс (отсюда и термин "динамический"). Компания Toshiba изобрела и представила динамическую оперативную память (DRAM) для своего электронного калькулятора "Toscal" BC 1411, представленного в ноябре 1965 года; в ней использовалась форма емкостной DRAM (180 бит), построенная из дискретных биполярных ячеек памяти. В 1967 году Томохиса Йосимару и Хироси Комикава из Toshiba подали заявку на американский патент на эту концепцию, приоритет которой восходил к маю 1966 года благодаря более ранней японской заявке. Самые ранние формы DRAM, упомянутые выше, использовали биполярные транзисторы. Хотя она обеспечивала более высокую производительность по сравнению с магнитной памятью на сердечниках, биполярная DRAM не могла конкурировать с более низкой ценой доминирующей в то время магнитной памяти на сердечниках. Конденсаторы также использовались в более ранних схемах памяти, таких как барабан компьютера Atanasoff–Berry, трубка Уильямса и электронная трубка Selectron. В 1966 году доктор Роберт Деннард из Исследовательского центра IBM имени Томаса Дж. Уотсона работал над MOS-памятью и пытался создать альтернативу SRAM, для каждого бита данных которой требовалось шесть MOS-транзисторов. Изучая характеристики технологии MOS, он обнаружил, что она позволяет создавать конденсаторы, и что хранение заряда или его отсутствие на конденсаторе MOS может представлять собой 1 и 0 бита, а MOS-транзистор может управлять записью заряда в конденсатор. Это привело к разработке однотранзисторной ячейки памяти MOS DRAM. Он подал заявку на патент в 1967 году и получил патент США № 3,387,286 в 1968 году. MOS-память предлагала более высокую производительность, была дешевле и потребляла меньше энергии, чем память на магнитных сердечниках. Чипы MOS DRAM были коммерциализированы в 1969 году компанией Advanced Memory Systems, Inc из Саннивейла, Калифорния. Этот 1024-битный чип был продан компаниям Honeywell, Raytheon, Wang Laboratories и другим. В том же году Honeywell попросила Intel изготовить DRAM, используя трехтранзисторные ячейки, разработанные ими. Так появился Intel 1102 в начале 1970 года. Однако 1102 имел множество проблем, что побудило Intel начать работу над собственной улучшенной конструкцией втайне, чтобы избежать конфликта с Honeywell. Так появилась первая коммерчески доступная DRAM, Intel 1103, в октябре 1970 года, несмотря на первоначальные проблемы с низким выходом годных до пятой ревизии фотошаблонов. 1103 был спроектирован Джоэлем Карпом и разведен Патом Эрхартом. Фотошаблоны были вырезаны Барбарой Манесс и Джуди Гарсией. В начале 1970-х годов MOS-память обогнала память на магнитных сердечниках в качестве доминирующей технологии памяти. В 1976 году она достигла более чем 75% доли на мировом рынке DRAM. Однако, по мере увеличения плотности до 64 Кбит в начале 1980-х годов, компании Mostek и другие американские производители были обогнаны японскими производителями DRAM, которые доминировали на рынках США и всего мира в 1980-х и 1990-х годах. В начале 1985 года Гордон Мур решил отказаться от производства DRAM компанией Intel. К 1986 году многие, но не все, американские производители чипов прекратили производство DRAM. Micron Technology и Texas Instruments продолжали производить их в коммерческих целях, а IBM производила их для внутреннего использования. В 1985 году, когда 64-килобайтная DRAM была наиболее распространенным типом чипов памяти, используемых в компьютерах, и более 60 процентов этих чипов производились японскими компаниями, американские производители полупроводников обвинили японские компании в экспортном демпинге с целью вытеснения американских производителей с рынка чипов памяти. Цены на 64-килобайтную продукцию упали до 35 центов за штуку с 3,50 доллара в течение 18 месяцев, что привело к катастрофическим финансовым последствиям для некоторых американских компаний. 4 декабря 1985 года Управление по международной торговле Министерства торговли США вынесло решение в пользу жалобы. Синхронная динамическая память с произвольным доступом (SDRAM) была разработана компанией Samsung. Первым коммерческим чипом SDRAM был Samsung KM48SL2000 емкостью 16 Мбит, представленный в 1992 году. Первым коммерческим чипом памяти DDR SDRAM (double data rate SDRAM) был 64-мегабитный чип DDR SDRAM компании Samsung, выпущенный в 1998 году. Позже, в 2001 году, японские производители DRAM обвинили корейских производителей DRAM в демпинге. В 2002 году американские производители компьютеров заявили о сговоре с целью фиксации цен на DRAM.

Принципы работы

DRAM обычно организован в виде прямоугольного массива ячеек хранения заряда, каждая из которых состоит из одного конденсатора и одного транзистора на бит данных. На рисунке справа показан простой пример матрицы 4x4. Некоторые матрицы DRAM имеют высоту и ширину в несколько тысяч ячеек. Длинные горизонтальные линии, соединяющие каждую строку, называются линиями выбора слов. Каждый столбец ячеек состоит из двух битовых линий, каждая из которых соединена со всеми ячейками хранения в этом столбце (на иллюстрации справа эта важная деталь не показана). Обычно их называют "+" и "−" битовыми линиями. Усилитель восстановления – это, по сути, пара перекрестно связанных инверторов, расположенных между битовыми линиями. Первый инвертор имеет вход, подключенный к "+" битовой линии, и выход, подключенный к "−" битовой линии. Второй инвертор имеет вход, подключенный к "−" битовой линии, и выход, подключенный к "+" битовой линии. Это создает положительную обратную связь, которая стабилизируется, когда одна битовая линия достигает максимального напряжения, а другая – минимального.

Операции по считыванию бита данных из ячейки хранения DRAM

Усилители отключены. Битовые линии предварительно заряжены до строго равных напряжений, находящихся между верхним и нижним логическими уровнями (например, 0,5 В, если эти уровни составляют 0 и 1 В). Битовые линии физически симметричны для обеспечения равной ёмкости, и поэтому в данный момент их напряжения одинаковы.

Конструкция ячейки памяти

Каждый бит данных в DRAM хранится в виде положительного или отрицательного электрического заряда в ёмкостной структуре. Структура, обеспечивающая ёмкость, а также транзисторы, которые контролируют доступ к ней, коллективно называются ячейкой DRAM. Они являются фундаментальным строительным блоком в массивах DRAM. Существует несколько вариантов ячеек памяти DRAM, но наиболее часто используемым вариантом в современных DRAM является ячейка с одним транзистором и одним конденсатором (1T1C). Транзистор используется для подачи тока в конденсатор при записи и для разряда конденсатора при чтении. Транзистор доступа разработан для максимизации управляющей способности и минимизации утечки тока транзистора (Kenner, стр. 34). Конденсатор имеет два вывода, один из которых подключен к его транзистору доступа, а другой – к земле или VCC/2. В современных DRAM последний случай более распространен, поскольку он обеспечивает более быструю работу. В современных DRAM для хранения логической единицы требуется напряжение +VCC/2 на конденсаторе, а для хранения логического нуля – напряжение VCC/2 на конденсаторе. Электрический заряд, хранящийся в конденсаторе, измеряется в кулонах. Для логической единицы заряд равен: , где Q – заряд в кулонах, а C – ёмкость в фарадах. Логический ноль имеет заряд, равный: . Чтение или запись логической единицы требует, чтобы напряжение на линии выбора слова (wordline) было увеличено до значения, превышающего сумму VCC и порогового напряжения транзистора доступа (VTH). Это напряжение называется накачанным VCC (VCCP). Время, необходимое для разряда конденсатора, таким образом, зависит от того, какое логическое значение хранится в конденсаторе. Конденсатор, содержащий логическую единицу, начинает разряжаться, когда напряжение на затворном выводе транзистора доступа превышает VCCP. Если конденсатор содержит логический ноль, он начинает разряжаться, когда напряжение на затворном выводе превышает VTH.

Конструкция конденсатора

До середины 1980-х годов конденсаторы в ячейках DRAM были копланарны с транзистором доступа (они изготавливались на поверхности подложки), поэтому их называли планарными конденсаторами. Стремление к увеличению плотности и, в меньшей степени, производительности, потребовало более компактных конструкций. Это было обусловлено, главным образом, экономическими факторами, которые играли важную роль в устройствах DRAM, особенно в стандартных DRAM. Минимизация площади ячейки DRAM позволяет создать более плотное устройство и снизить стоимость на бит памяти. Начиная с середины 1980-х годов, конденсатор был перемещен над или под кремниевую подложку для достижения этих целей. Ячейки DRAM с конденсаторами над подложкой называются конденсаторами со сложенными или наложенными пластинами. Конденсаторы, расположенные под поверхностью подложки, называются траншейными конденсаторами. В 2000-х годах производители разделились в выборе типа конденсатора для своих DRAM, а относительная стоимость и долгосрочная масштабируемость обеих конструкций стали предметом активных дискуссий. Большинство DRAM от ведущих производителей, таких как Hynix, Micron Technology и Samsung Electronics, используют структуру сложенного конденсатора, в то время как более мелкие производители, такие как Nanya Technology, используют структуру траншейного конденсатора (Jacob, стр. 355–357). Конденсатор в схеме со сложенным конденсатором изготавливается над поверхностью подложки. Он состоит из диэлектрика оксид-нитрид-оксид (ONO), расположенного между двумя слоями поликремниевых пластин (верхняя пластина общая для всех ячеек DRAM в интегральной схеме), и может иметь прямоугольную, цилиндрическую или другую, более сложную форму. Существует две основные разновидности сложенного конденсатора, основанные на его расположении относительно линии бита: конденсатор над линией бита (COB) и конденсатор под линией бита (CUB). В первой разновидности конденсатор расположен под линией бита, которая обычно изготавливается из металла, а линия бита имеет поликремниевый контакт, который опускается вниз для соединения с истоковым выводом транзистора доступа. Во второй разновидности конденсатор изготавливается над линией бита, которая почти всегда изготавливается из поликремния, но в остальном идентична конструкции COB. Преимуществом варианта COB является простота изготовления контакта между линией бита и истоковым выводом транзистора доступа, поскольку он физически близок к поверхности подложки. Однако это требует, чтобы активная область была ориентирована под углом 45 градусов при взгляде сверху, что затрудняет обеспечение отсутствия контакта между контактом конденсатора и линией бита. Ячейки CUB избегают этой проблемы, но испытывают трудности при введении контактов между линиями бита, поскольку размеры элементов, расположенных так близко к поверхности, находятся на или около минимального размера элементов технологического процесса (Kenner, стр. 33–42). Траншейный конденсатор изготавливается путем травления глубокого отверстия в кремниевой подложке. Объем подложки, окружающий отверстие, затем сильно легируется для создания заделанной пластины n+ и снижения сопротивления. Наносится или выращивается слой диэлектрика оксид-нитрид-оксид, и, наконец, отверстие заполняется осажденным легированным поликремнием, который образует верхнюю пластину конденсатора. Верхняя часть конденсатора соединена с стоковым выводом транзистора доступа посредством поликремниевой перемычки (Kenner, стр. 42–44). Отношение глубины к ширине траншейного конденсатора в DRAM середины 2000-х годов может превышать 50:1 (Jacob, стр. 357). Траншейные конденсаторы имеют многочисленные преимущества. Поскольку конденсатор находится в объеме подложки, а не на ее поверхности, занимаемая им площадь может быть сведена к минимуму, достаточной для соединения его со стоковым выводом транзистора доступа без уменьшения размера конденсатора и, следовательно, емкости (Jacob, стр. 356–357). Кроме того, емкость может быть увеличена путем травления более глубокого отверстия без увеличения площади поверхности (Kenner, стр. 44). Еще одним преимуществом траншейного конденсатора является то, что его структура находится под слоями металлической межсоединительной сети, что позволяет легче сделать их плоскими, что обеспечивает интеграцию в технологический процесс, оптимизированный для логики, который имеет множество уровней межсоединений над подложкой. Тот факт, что конденсатор находится под логикой, означает, что он изготавливается до транзисторов. Это позволяет использовать высокотемпературные процессы для изготовления конденсаторов, которые в противном случае могли бы ухудшить характеристики логических транзисторов. Это делает траншейные конденсаторы подходящими для создания встроенной DRAM (eDRAM) (Jacob, стр. 357). Недостатками траншейных конденсаторов являются трудности с надежным изготовлением структуры конденсатора внутри глубоких отверстий и с соединением конденсатора со стоковым выводом транзистора доступа (Kenner, стр. 44).

Исторические конструкции ячеек

Первое поколение DRAM-микросхем (с емкостью 1 Кбит), первым образцом которой была Intel 1103, использовало ячейку DRAM, состоящую из трех транзисторов и одного конденсатора (3T1C). Ко второму поколению необходимость снижения стоимости за счет размещения того же количества битов на меньшей площади привела к почти повсеместному внедрению ячейки DRAM 1T1C, хотя некоторые устройства емкостью 4 и 16 Кбит продолжали использовать ячейку 3T1C из соображений производительности (Kenner, с. 6). К этим преимуществам в производительности, наиболее значимым, относилась возможность считывать состояние, хранящееся в конденсаторе, без его разряда, что избавляло от необходимости перезаписи считанного значения (неразрушающее чтение). Второе преимущество ячейки 3T1C заключается в наличии отдельных транзисторов для чтения и записи; контроллер памяти может использовать эту особенность для выполнения атомарных операций чтения-модификации-записи, когда значение считывается, изменяется и затем записывается обратно как единая, неделимая операция (Jacob, с. 459).

Предлагаемые конструкции ячеек

Клетка DRAM с одним транзистором и нулевым конденсатором (1T или 1T0C) является предметом исследований с конца 1990-х годов. 1T DRAM – это иной способ построения базовой ячейки памяти DRAM, отличающийся от классической ячейки DRAM с одним транзистором и одним конденсатором (1T/1C), которая также иногда называется "1T DRAM", особенно в сравнении с 3T и 4T DRAM, которые она заменила в 1970-х годах. В ячейках 1T DRAM бит данных по-прежнему хранится в емкостной области, управляемой транзистором, но эта емкость больше не обеспечивается отдельным конденсатором. 1T DRAM – это конструкция битовой ячейки "без конденсатора", которая хранит данные, используя паразитическую емкость тела, присущую транзисторам на кремнии на изоляторе (SOI). Этот эффект плавающего тела, считающийся недостатком в логическом проектировании, может быть использован для хранения данных. Это обеспечивает 1T DRAM-ячейкам наибольшую плотность, а также облегчает интеграцию с высокопроизводительными логическими схемами, поскольку они создаются с использованием тех же технологий производства SOI. Обновление ячеек по-прежнему необходимо, но, в отличие от 1T1C DRAM, чтение в 1T DRAM является неразрушающим; накопленный заряд вызывает обнаружимое изменение порогового напряжения транзистора. С точки зрения производительности, время доступа значительно лучше, чем у DRAM на основе конденсаторов, но немного хуже, чем у SRAM. Существует несколько типов 1T DRAM: коммерциализированная Z RAM от Innovative Silicon, TTRAM от Renesas и A RAM от консорциума UGR/CNRS.

Структуры массивов

Ячейки DRAM расположены в виде регулярной прямоугольной сетки для облегчения их управления и доступа через линии выбора слова (wordlines) и битовые линии (bitlines). Физическая компоновка ячеек DRAM в массиве обычно проектируется таким образом, чтобы две соседние ячейки DRAM в столбце использовали один общий контакт битовой линии для уменьшения их площади. Площадь ячейки DRAM выражается как nF², где n – число, определяемое конструкцией ячейки DRAM, а F – минимальный технологический размер элемента в данном технологическом процессе. Эта схема позволяет сравнивать размеры DRAM в различных поколениях технологических процессов, поскольку площадь ячейки DRAM масштабируется линейно или почти линейно в зависимости от технологического размера элемента. Типичная площадь современных ячеек DRAM варьируется от 6 до 8 F². Горизонтальная проводка, линия выбора слова, соединена с затворным выводом каждого транзистора доступа в ее строке. Вертикальная битовая линия соединена с истоковым выводом транзисторов в ее столбце. Длина линий выбора слова и битовых линий ограничена. Длина линии выбора слова ограничена требуемой производительностью массива, поскольку время распространения сигнала, который должен пройти по линии выбора слова, определяется RC-постоянной времени. Длина битовой линии ограничена ее емкостью (которая увеличивается с длиной), которую необходимо поддерживать в определенном диапазоне для корректного считывания (поскольку DRAM работают, определяя заряд конденсатора, выходящий на битовую линию). Длина битовой линии также ограничена величиной рабочего тока, потребляемого DRAM, и возможностью рассеивания мощности, поскольку эти две характеристики в значительной степени определяются зарядкой и разрядкой битовой линии.

Архитектура битлинов

Для считывания состояния, содержащегося в ячейках DRAM, необходимы усилители-чувствители. При активации транзистора доступа электрический заряд в конденсаторе распределяется по линии разряда. Ёмкость линии разряда значительно превышает ёмкость конденсатора (примерно в десять раз). Следовательно, изменение напряжения на линии разряда незначительно. Усилители-чувствители необходимы для разрешения разности напряжений до уровней, определяемых логической системой сигнализации. Современные DRAM используют дифференциальные усилители-чувствители, что предъявляет особые требования к структуре массивов DRAM. Дифференциальные усилители-чувствители работают, устанавливая свои выходы в противоположные крайние значения в зависимости от относительных напряжений на парах линий разряда. Усилители-чувствители работают эффективно только при близком соответствии ёмкости и напряжения этих пар линий разряда. Помимо обеспечения одинаковой длины линий разряда и количества подключенных к ним ячеек DRAM, для удовлетворения требований усилителей-чувствителей сформировались две основные архитектуры организации массивов: массивы с открытыми и сложенными линиями разряда.

Открыть массивы битовой линии

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

Свернутые массивы битлинов

Архитектура сложенного битлинового массива прокладывает битлинии парами по всему массиву. Близкое расположение парных битлиний обеспечивает превосходное подавление синфазного шума по сравнению с массивами с открытыми битлиниями. Архитектура сложенного битлинового массива начала применяться в DRAM-интегральных схемах в середине 1980-х годов, начиная с поколения 256 Кбит. Эта архитектура предпочтительна в современных DRAM-интегральных схемах благодаря ее высокой помехоустойчивости. Она называется сложенной, поскольку ее основа берется из архитектуры открытого массива, если рассматривать схему цепи. Архитектура сложенного массива как бы удаляет ячейки DRAM попарно из колонки (поскольку две ячейки DRAM используют один общий бит-контакт), а затем перемещает ячейки DRAM из соседней колонки на освободившиеся места. Участок, где битлиния изгибается, занимает дополнительную площадь. Чтобы минимизировать увеличение площади, инженеры выбирают наиболее простую и компактную схему изгиба, способную снизить шум до заданного уровня. По мере совершенствования технологических процессов и уменьшения минимальных размеров элементов проблема соотношения сигнал/шум усугубляется, поскольку взаимная связь между соседними металлическими проводниками обратно пропорциональна их шагу. Используемые схемы складывания массива и изгиба битлиний должны становиться сложнее, чтобы обеспечивать достаточную степень подавления шума. Разработка схем, обладающих желаемыми характеристиками помехоустойчивости при минимальном влиянии на площадь, является предметом текущих исследований (Kenner, p. 37).

Будущие архитектуры массивов

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

Избыточность рядов и столбцов

Первые интегральные схемы DRAM не имели никакой избыточности. Интегральная схема с дефектной ячейкой DRAM отбраковывалась. Начиная с поколения 64 Кбит, массивы DRAM стали включать в себя запасные строки и столбцы для повышения выхода годных изделий. Запасные строки и столбцы обеспечивают устойчивость к незначительным дефектам производства, из-за которых небольшое количество строк или столбцов оказывалось неработоспособным. Дефектные строки и столбцы физически отключаются от остальной части массива путем перегорания программируемого предохранителя или перерезания проводника лазером. Запасные строки или столбцы заменяют неисправные с помощью логики переназначения в декодерах строк и столбцов (Jacob, pp. 358–361).

Выявление и исправление ошибок

Электрические или магнитные помехи внутри компьютерной системы могут приводить к спонтанному переключению одиночного бита DRAM в противоположное состояние. Большинство разовых ("мягких") ошибок в чипах DRAM возникают из-за фонового излучения, главным образом нейтронов, образующихся при вторичном космическом излучении, которые могут изменять содержимое одной или нескольких ячеек памяти или нарушать работу схемы чтения/записи. Эту проблему можно смягчить, используя избыточные биты памяти и дополнительную логику, которая использует эти биты для обнаружения и исправления мягких ошибок. В большинстве случаев обнаружение и исправление выполняются контроллером памяти; иногда необходимая логика прозрачно реализована в чипах или модулях DRAM, обеспечивая функциональность памяти ECC для систем, которые изначально не поддерживают ECC. Дополнительные биты памяти используются для записи информации о чётности и восстановления потерянных данных с помощью кода коррекции ошибок (ECC). Чётность позволяет обнаруживать все однобитовые ошибки (фактически, любое нечётное количество ошибочных битов). Наиболее распространённый код коррекции ошибок – код Хамминга SECDED – позволяет исправить однобитовую ошибку и, в обычной конфигурации, с дополнительным битом чётности, обнаруживать двойные битовые ошибки. Недавние исследования показывают сильно различающиеся показатели частоты ошибок, отличающиеся более чем на семь порядков величины: от 10−10 до 10−17 ошибок/бит·ч, что соответствует примерно одной ошибке на бит в час на гигабайт памяти до одной ошибки на бит в столетие на гигабайт памяти. Исследование, проведённое Шрёдером и др. в 2009 году, показало, что вероятность возникновения хотя бы одной исправляемой ошибки в год для данного компьютера в их исследовании составляет 32%, и предоставило доказательства того, что большинство таких ошибок являются прерывистыми аппаратными, а не мягкими ошибками, и что следовые количества радиоактивных материалов, попавших в корпус чипа, излучают альфа-частицы и повреждают данные. Исследование 2010 года, проведённое в Университете Рочестера, также показало, что значительная часть ошибок памяти – это прерывистые аппаратные ошибки. Крупномасштабные исследования основной памяти без ECC в персональных компьютерах и ноутбуках показывают, что необнаруженные ошибки памяти являются причиной значительного числа сбоев в работе системы: исследование 2011 года сообщает о вероятности 1 к 1700 для 1,5% протестированной памяти (что экстраполируется примерно до 26% для всей памяти), что компьютер будет испытывать ошибку памяти каждые восемь месяцев.

Сохранение данных

Хотя динамическая память гарантированно сохраняет свое содержимое только при наличии питания и периодическом обновлении (обычно каждые 64 мс), конденсаторы ячеек памяти часто сохраняют свои значения значительно дольше, особенно при низких температурах. Это свойство можно использовать для обхода мер безопасности и восстановления данных, хранящихся в основной памяти, которые считаются уничтоженными при выключении питания. Компьютер можно быстро перезагрузить и считать содержимое основной памяти, либо извлечь модули памяти компьютера, охладить их для увеличения времени сохранения данных, а затем перенести на другой компьютер для считывания. Подобная атака была продемонстрирована для обхода популярных систем шифрования дисков, таких как TrueCrypt с открытым исходным кодом, BitLocker Drive Encryption от Microsoft и FileVault от Apple. Этот тип атаки на компьютер часто называют атакой "холодной загрузки".

Повреждение памяти

Динамическая память по определению требует периодической регенерации. Более того, чтение динамической памяти – это деструктивная операция, требующая перезарядки ячеек памяти в прочитанной строке. Если эти процессы неидеальны, операция чтения может приводить к появлению мягких ошибок. В частности, существует риск утечки заряда между соседними ячейками, из-за чего регенерация или чтение одной строки может вызывать ошибку влияния на соседнюю или даже расположенную рядом строку. Осведомленность об ошибках влияния восходит к первым коммерчески доступным микросхемам DRAM в начале 1970-х годов (Intel 1103). Несмотря на меры по смягчению, применяемые производителями, коммерческие исследователи в анализе 2014 года доказали, что коммерчески доступные чипы DDR3 DRAM, произведенные в 2012 и 2013 годах, подвержены ошибкам влияния. Сопутствующий побочный эффект, приводящий к наблюдаемым переворотам битов, получил название "row hammer" (молот строк).

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

Динамические микросхемы RAM могут быть упакованы в формованные эпоксидные корпуса с внутренней выводной рамкой для соединений между кремниевой пластиной и выводами корпуса. В оригинальной конструкции IBM PC использовались интегральные схемы, включая схемы DRAM, упакованные в корпуса с двойным рядом выводов (DIP), припаянные непосредственно к основной плате или установленные в разъемы. По мере резкого увеличения плотности памяти, использование DIP-корпусов стало непрактичным. Для удобства обращения несколько динамических микросхем RAM могут быть установлены на одном модуле памяти, что позволяет устанавливать память шириной 16, 32 или 64 бита в едином устройстве, без необходимости установки множества отдельных микросхем. Модули памяти могут включать дополнительные устройства для проверки четности или коррекции ошибок. В процессе развития настольных компьютеров было разработано несколько стандартизированных типов модулей памяти. Ноутбуки, игровые консоли и специализированные устройства могут использовать собственные форматы модулей памяти, несовместимые со стандартными настольными компьютерами из-за особенностей конструкции или запатентованных решений.

Встроенные

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

Версии

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

Асинхронные DRAM

Первоначальный тип DRAM, теперь известный как "асинхронная DRAM", был первым используемым типом DRAM. От момента своего появления в конце 1960-х годов он широко использовался в вычислительной технике вплоть до примерно 1997 года, когда его в основном заменила синхронная DRAM. В настоящее время производство асинхронной оперативной памяти относительно редко.

Принципы работы

Асинхронный чип DRAM имеет подключения к питанию, некоторое количество входов адреса (обычно 12) и несколько (обычно один или четыре) двунаправленных линий данных. Существует четыре сигнала с активным низким уровнем управления: , строб адреса строки (Row Address Strobe). Входные адреса фиксируются на спадающем фронте , и выбирают строку для открытия. Строка остается открытой, пока находится в низком состоянии. , строб адреса столбца (Column Address Strobe). Входные адреса фиксируются на спадающем фронте , и выбирают столбец из текущей открытой строки для чтения или записи. , разрешение записи (Write Enable). Этот сигнал определяет, является ли данный спадающий фронт операцией чтения (если высокий) или записи (если низкий). Если сигнал низкий, входные данные также фиксируются на спадающем фронте . , разрешение вывода (Output Enable). Это дополнительный сигнал, который управляет выводом данных на выводы ввода/вывода. Выводы данных управляются чипом DRAM, если и находятся в низком состоянии, высокий, и низкий. Во многих приложениях можно постоянно подключать к низкому уровню (вывод всегда включен), но переключение может быть полезным при подключении нескольких чипов памяти параллельно. Этот интерфейс обеспечивает прямой контроль внутренней синхронизации. Когда устанавливается в низкий уровень, нельзя пытаться выполнить цикл, пока усилители зондирования не определят состояние памяти, и нельзя возвращать в высокий уровень, пока ячейки памяти не будут восстановлены. Когда устанавливается в высокий уровень, его необходимо удерживать в высоком состоянии достаточно долго, чтобы завершить предварительную зарядку. Хотя DRAM является асинхронной, сигналы обычно генерируются синхронизированным контроллером памяти, который ограничивает их временные характеристики кратными периодам тактового цикла контроллера.

RAS только обновление

Классическая асинхронная DRAM обновляется путем последовательного доступа к каждой строке. Циклы обновления распределяются по всему интервалу обновления таким образом, чтобы все строки были обновлены в течение необходимого времени. Для обновления одной строки массива памяти, используя только обновление (ROR), необходимо выполнить следующие шаги: адрес строки, подлежащей обновлению, должен быть подан на входные контакты адреса. Сигнал должен переключиться с высокого на низкий. Сигнал должен оставаться высоким. По истечении необходимого времени, сигнал должен вернуться в высокое состояние. Это можно сделать, подав адрес строки и импульсом переведя сигнал в низкое состояние; выполнять отдельные циклы не требуется. Для последовательного перебора адресов строк необходим внешний счетчик. В некоторых конструкциях обновление оперативной памяти осуществлялось центральным процессором, и Zilog Z80, пожалуй, является наиболее известным примером, где счетчик строк размещался в регистре процессора R, а внутренние таймеры периодически опрашивали строку по адресу в R и затем увеличивали значение в регистре. Обновление чередовалось с обычными инструкциями, такими как чтение из памяти. В других системах, особенно в домашних компьютерах, обновление часто выполнялось видеоподсистемой, поскольку ей часто приходилось читать большие объемы памяти, и обновление выполнялось как часть этих операций.

CAS до обновления RAS

Для удобства счетчик был быстро встроен непосредственно в чипы DRAM. Если линия опускается до низкого уровня до (что обычно является недопустимой операцией), то DRAM игнорирует входные адреса и использует внутренний счетчик для выбора строки для доступа. Это известно как обновление до (CBR). Этот метод стал стандартным способом обновления для асинхронной DRAM и является единственным, обычно используемым с SDRAM.

Скрытое обновление

При поддержке предварительного обновления (before refresh), можно снять сигнал подтверждения (deassert), удерживая низкий уровень сигнала, для сохранения вывода данных. Если затем сигнал подтверждения ( ) снова установить (assert), это выполнит цикл обновления CBR, при этом вывод данных DRAM останется действительным. Поскольку вывод данных не прерывается, это известно как скрытое обновление.

Режим страницы DRAM

DRAM в режиме страницы – это незначительная модификация интерфейса DRAM IC первого поколения, которая повысила производительность чтения и записи в строку, устраняя неэффективность, связанную с предварительной зарядкой и повторным открытием одной и той же строки для доступа к другому столбцу. В режиме страницы DRAM, после открытия строки удержанием сигнала в низком состоянии, строка могла оставаться открытой, и можно было выполнить несколько операций чтения или записи в любом из столбцов этой строки. Каждый доступ к столбцу инициировался активацией сигнала и представлением адреса столбца. Для чтения, после задержки (tCAC), действительные данные появлялись на выводах данных, которые до этого поддерживались в высоком импедансе (Z). Для записи, сигнал разрешения записи и записываемые данные представлялись вместе с адресом столбца. DRAM в режиме страницы впоследствии была улучшена небольшим изменением, которое еще больше снизило задержку. DRAM с этим улучшением назывались DRAM с быстрым режимом страницы (FPM DRAM). В режиме страницы DRAM сигнал активировался перед подачей адреса столбца. В FPM DRAM адрес столбца можно было подать, пока сигнал оставался неактивным. Адрес столбца распространялся по тракту данных адреса столбца, но вывод данных на выводы данных не начинался до активации сигнала. До активации сигнала выводы данных поддерживались в высоком импедансе (Z). FPM DRAM уменьшила задержку tCAC. DRAM с быстрым режимом страницы была представлена в 1986 году и использовалась с процессором Intel 80486. Статический столбец – это вариант быстрого режима страницы, в котором адрес столбца не требуется хранить, а входные данные адреса могут изменяться при удержании сигнала в низком состоянии, при этом выходные данные обновятся через несколько наносекунд. EDO RAM, иногда называемая DRAM с расширенным режимом страницы, аналогична FPM DRAM, но имеет дополнительную функцию: новый цикл доступа может быть начат, сохраняя выходные данные предыдущего цикла активными. Это обеспечивает определенную степень перекрытия операций (конвейеризация), что позволяет немного повысить производительность. Она на 30% быстрее, чем FPM DRAM, которую она начала заменять в 1995 году, когда Intel представила чипсет 430FX с поддержкой EDO DRAM. Несмотря на прирост производительности, FPM и EDO SIMM во многих (но не во всех) приложениях могут использоваться взаимозаменяемо. Точнее, EDO DRAM начинает вывод данных на спадающем фронте сигнала, но не прекращает вывод при его последующем подъеме. Она поддерживает выходные данные в активном состоянии (тем самым увеличивая время вывода данных) до тех пор, пока сигнал не будет деактивирован или новый спадающий фронт не выберет другой адрес столбца. Single Cycle EDO (EDO с одним циклом) способна выполнить полную операцию памяти за один тактовый цикл. В противном случае, каждый последовательный доступ к оперативной памяти в пределах одной страницы занимает два тактовых цикла вместо трех, после выбора страницы. Производительность и возможности EDO создали возможность уменьшить значительные потери производительности, связанные с отсутствием кэша L2 в недорогих персональных компьютерах. Это также было полезно для ноутбуков из-за ограничений, связанных с их компактными размерами и временем автономной работы. Кроме того, в системах с кэшем L2 наличие EDO памяти улучшило среднюю задержку памяти, наблюдаемую приложениями, по сравнению с более ранними реализациями FPM. Single Cycle EDO DRAM стала очень популярной на видеокартах в конце 1990-х годов. Она была очень недорогой, но почти такой же эффективной по производительности, как гораздо более дорогая VRAM.

Сбой в EDO DRAM

Эволюцией EDO DRAM стала burst EDO DRAM (BEDO DRAM), способная обрабатывать четыре адреса памяти за один цикл, до 5 1 1 1, что позволяло сэкономить еще три такта по сравнению с оптимально спроектированной EDO памятью. Это было реализовано путем добавления на чип счетчика адресов для отслеживания следующего адреса. BEDO также добавила стадию конвейера, позволяющую разделить цикл доступа к странице на две части. Во время операции чтения памяти, первая часть осуществляла доступ к данным из массива памяти в выходную стадию (второй триггер). Вторая часть выдавала данные на шину данных из этого триггера на соответствующем логическом уровне. Поскольку данные уже находятся в выходном буфере, достигается более быстрое время доступа (до 50% для больших блоков данных), чем у традиционной EDO. Хотя BEDO DRAM демонстрировала дополнительную оптимизацию по сравнению с EDO, к моменту ее появления на рынке, значительные инвестиции уже были вложены в синхронную DRAM, или SDRAM. Несмотря на то, что BEDO RAM в некоторых аспектах превосходила SDRAM, последняя технология быстро вытеснила BEDO.

Синхронная DRAM с единой скоростью передачи данных

Однократная скорость передачи данных SDRAM (SDR SDRAM или SDR) — это первое поколение SDRAM, осуществлявшее одну передачу данных за каждый тактовый цикл.

Синхронная DRAM с двойной скоростью передачи данных

Двойная скорость передачи данных SDRAM (DDR SDRAM или DDR) была дальнейшим развитием SDRAM, используемой в компьютерной памяти начиная с 2000 года. Последующие версии нумеруются последовательно (DDR2, DDR3 и т.д.). DDR SDRAM внутренне выполняет доступ вдвое большей ширины на каждом тактовом цикле и использует интерфейс с двойной скоростью передачи данных для передачи половины объема данных на каждом фронте и спаде тактового сигнала. DDR2 и DDR3 увеличили этот коэффициент до 4 и 8 соответственно, обеспечивая передачу блоков по 4 и 8 слов за 2 и 4 тактовых цикла соответственно. Внутренняя скорость доступа остаётся в основном неизменной (200 миллионов операций в секунду для памяти DDR 400, DDR2 800 и DDR3 1600), но при каждом доступе передаётся больший объем данных.

Прямые Rambus DRAM

Прямая RAMBUS DRAM (DRDRAM) была разработана компанией Rambus. Впервые поддержанная на материнских платах в 1999 году, она предназначалась для того, чтобы стать отраслевым стандартом, но уступила позиции DDR SDRAM и к 2003 году устарела.

DRAM с уменьшенной задержкой

DRAM с пониженной задержкой (RLDRAM) — это высокопроизводительная SDRAM с двойной скоростью передачи данных (DDR), сочетающая в себе быстрый произвольный доступ и высокую пропускную способность, в основном предназначенная для применения в сетевых устройствах и кэшировании.

Графическая оперативная память

Графические оперативные памяти (Graphics RAM) – это асинхронные и синхронные динамические памяти (DRAM), разработанные для графических задач, таких как хранение текстур и кадров буфера, используемые в видеокартах.

Видео DRAM

Видео DRAM (VRAM) — это двухпортовая разновидность DRAM, которая ранее широко использовалась для хранения буфера кадра в некоторых графических адаптерах.

Окно DRAM

Window DRAM (WRAM) - это разновидность VRAM, которая ранее использовалась в графических адаптерах, таких как Matrox Millennium и ATI 3D Rage Pro. WRAM была разработана, чтобы превосходить VRAM по производительности и стоить дешевле. WRAM обеспечивала пропускную способность до 25% выше, чем у VRAM, и ускоряла часто используемые графические операции, такие как вывод текста и заливка областей.

Многобанковские DRAM

Multibank DRAM (MDRAM) — это тип специализированной DRAM, разработанный компанией MoSys. Он состоит из небольших банков памяти объемом 256 кБ, работающих в чередующемся режиме, что обеспечивает пропускную способность, подходящую для графических карт, при более низкой стоимости по сравнению с памятью SRAM. MDRAM также позволяет выполнять операции с двумя банками за один тактовый цикл, обеспечивая возможность одновременного выполнения нескольких независимых запросов доступа. MDRAM в основном использовалась в графических картах, например, с чипсетами Tseng Labs ET6x00. Платы, основанные на этом чипсете, часто имели необычный объем 2,25 МБ благодаря возможности более простой реализации MDRAM с такими объемами. Графическая карта с 2,25 МБ MDRAM обеспечивала достаточно памяти для 24-битной цветовой глубины при разрешении 1024×768 — очень популярной настройке в то время.

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

Синхронная графическая оперативная память (SGRAM) — это специализированная форма SDRAM, предназначенная для графических адаптеров. Она добавляет такие функции, как битовая маскировка (запись в указанную битовую плоскость без изменения других) и блочная запись (заполнение блока памяти одним цветом). В отличие от VRAM и WRAM, SGRAM однопортовая. Однако она способна одновременно открывать две страницы памяти, что имитирует двухпортовую структуру других типов видеопамяти.

Графическая SDRAM с двойной скоростью передачи данных

Графическая SDRAM с двойной скоростью передачи данных — это тип специализированной DDR SDRAM, разработанный для использования в качестве основной памяти графических процессоров (GPU). GDDR SDRAM отличается от стандартных типов DDR SDRAM, таких как DDR3, хотя и имеет с ними некоторые общие базовые технологии. Основной характеристикой GDDR является более высокая тактовая частота как самого чипа DRAM, так и интерфейса ввода-вывода, что обеспечивает большую пропускную способность памяти для GPU. По состоянию на 2020 год существует семь последовательных поколений GDDR: GDDR2, GDDR3, GDDR4, GDDR5, GDDR5X, GDDR6 и GDDR6X.

Псевдостатическая оперативная память

Псевдостатическая оперативная память (PSRAM или PSDRAM) — это динамическая оперативная память со встроенными схемами обновления и управления адресами, обеспечивающими её работу, аналогичную статической оперативной памяти (SRAM). Она сочетает в себе высокую плотность DRAM с простотой использования настоящей SRAM. PSRAM используется в Apple iPhone и других встраиваемых системах, таких как платформа XFlar. Некоторые компоненты DRAM имеют "режим самообновления". Хотя этот режим включает в себя большую часть логики, необходимой для псевдостатической работы, он часто эквивалентен режиму ожидания. Он предназначен главным образом для того, чтобы система могла приостановить работу контроллера DRAM для экономии энергии без потери данных, хранящихся в DRAM, а не для обеспечения работы без отдельного контроллера DRAM, как в случае с упомянутыми PSRAM. Встраиваемый вариант PSRAM продавался компанией MoSys под названием 1T SRAM. Это набор небольших банков DRAM с кэшем SRAM перед ними, что позволяет ему работать как настоящая SRAM. Он используется в видеоигровых консолях Nintendo GameCube и Wii. HyperRAM от Cypress Semiconductor — это тип PSRAM, поддерживающий 8-контактный интерфейс HyperBus или Octal xSPI, соответствующий стандартам JEDEC.