Статическая память с произвольным доступом ( статическое ОЗУ или SRAM ) — это тип памяти с произвольным доступом (ОЗУ), которая использует схему защелкивания (триггер) для хранения каждого бита. SRAM — это энергозависимая память ; данные теряются при отключении питания.
Термин «статический» отличает SRAM от DRAM ( динамическая память с произвольным доступом):
Биполярная полупроводниковая SRAM была изобретена в 1963 году Робертом Норманом в Fairchild Semiconductor . [1] Металл-оксид-полупроводниковая SRAM (MOS-SRAM) была изобретена в 1964 году Джоном Шмидтом в Fairchild Semiconductor. Это была 64-битная MOS p-канальная SRAM. [2] [3]
SRAM была основным двигателем любого нового процесса изготовления на основе технологии КМОП с 1960-х годов, когда была изобретена КМОП. [4]
В 1964 году Арнольд Фарбер и Юджин Шлиг, работавшие в IBM, создали ячейку памяти с жесткой проводкой, используя транзисторный затвор и туннельный диодный затвор . Они заменили затвор двумя транзисторами и двумя резисторами , конфигурация, которая стала известна как ячейка Фарбера-Шлига. В том же году они подали заявку на раскрытие изобретения, но она была первоначально отклонена. [5] [6] В 1965 году Бенджамин Агуста и его команда в IBM создали 16-битный кремниевый чип памяти на основе ячейки Фарбера-Шлига с 80 транзисторами, 64 резисторами и 4 диодами.
В апреле 1969 года компания Intel Inc. представила свой первый продукт, Intel 3101, чип памяти SRAM, предназначенный для замены громоздких модулей памяти на магнитных сердечниках ; его емкость составляла 64 бита (в первых версиях из-за ошибки можно было использовать только 63 бита) [7] и он был основан на биполярных транзисторах [8] и был разработан с использованием рубилита . [9]
Хотя SRAM можно охарактеризовать как энергозависимую память , она демонстрирует остаточную намагниченность данных . [10]
SRAM предлагает простую модель доступа к данным и не требует схемы обновления. Производительность и надежность хорошие, а потребление энергии низкое в режиме ожидания. [11]
Поскольку для реализации SRAM требуется больше транзисторов на бит, она менее плотная и более дорогая, чем DRAM, а также имеет более высокое энергопотребление во время доступа к чтению или записи. Потребление энергии SRAM сильно варьируется в зависимости от того, как часто к ней обращаются. [11]
Многие категории промышленных и научных подсистем, автомобильной электроники и подобных встроенных систем содержат SRAM, которая в этом контексте может называться ESRAM . [12] Некоторое количество (килобайты или меньше) также встроено практически во все современные приборы, игрушки и т. д., реализующие электронный пользовательский интерфейс.
SRAM в двухпортовой форме иногда используется для схем цифровой обработки сигналов в реальном времени . [13]
SRAM также используется в персональных компьютерах, рабочих станциях, маршрутизаторах и периферийном оборудовании: файлы регистров ЦП , внутренние кэши ЦП , внутренние кэши ГП и внешние кэши SRAM пакетного режима , буферы жестких дисков , буферы маршрутизаторов и т. д. ЖК-экраны и принтеры также обычно используют SRAM для хранения отображаемого изображения (или для печати). ЖК-дисплеи могут иметь SRAM в своих контроллерах ЖК-дисплеев. SRAM использовалась в качестве основной памяти многих ранних персональных компьютеров, таких как ZX80 , TRS-80 Model 100 и VIC-20 .
Некоторые ранние карты памяти конца 1980-х — начала 1990-х годов использовали SRAM в качестве носителя информации, для сохранения содержимого которого требовалась литиевая батарея. [14] [15]
SRAM может быть интегрирована в кристалл для:
Любители, особенно энтузиасты самодельных процессоров, [16] часто предпочитают SRAM из-за простоты сопряжения. С ней гораздо проще работать, чем с DRAM, поскольку нет циклов обновления, а адресные и информационные шины часто доступны напрямую. [ необходима цитата ] Помимо шин и соединений питания, SRAM обычно требует только три элемента управления: включение чипа (CE), включение записи (WE) и включение выхода (OE). В синхронной SRAM также включен тактовый генератор (CLK). [17]
Энергонезависимая SRAM (nvSRAM) обладает стандартной функциональностью SRAM, но сохраняет данные при отключении питания, обеспечивая сохранность критически важной информации. NvSRAM используются в широком спектре ситуаций — в сетях, аэрокосмической отрасли, медицине и многих других [18] , — где сохранение данных имеет решающее значение, а батареи нецелесообразны.
Псевдостатическая оперативная память (PSRAM) — это DRAM, объединенная с самообновляющейся схемой. [19] Внешне она выглядит как более медленная SRAM, хотя и имеет преимущество в плотности и стоимости по сравнению с настоящей SRAM, а также без сложности доступа DRAM.
В 1990-х годах асинхронная SRAM использовалась для быстрого времени доступа. Асинхронная SRAM использовалась в качестве основной памяти для небольших встраиваемых процессоров без кэша, используемых во всем, от промышленной электроники и измерительных систем до жестких дисков и сетевого оборудования, среди многих других приложений. В настоящее время синхронная SRAM (например, DDR SRAM) скорее используется аналогично синхронной DRAM – память DDR SDRAM скорее используется, чем асинхронная DRAM . Синхронный интерфейс памяти намного быстрее, поскольку время доступа может быть значительно сокращено за счет использования конвейерной архитектуры. Кроме того, поскольку DRAM намного дешевле SRAM, SRAM часто заменяют на DRAM, особенно в случае, когда требуется большой объем данных. Однако память SRAM намного быстрее для случайного (не блочного / пакетного) доступа. Поэтому память SRAM в основном используется для кэша ЦП , небольшой памяти на кристалле, FIFO или других небольших буферов.
Типичная ячейка SRAM состоит из шести MOSFET и часто называется ячейкой SRAM 6T . Каждый бит в ячейке хранится на четырех транзисторах (M1, M2, M3, M4), которые образуют два перекрестно-связанных инвертора. Эта ячейка хранения имеет два стабильных состояния, которые используются для обозначения 0 и 1. Два дополнительных транзистора доступа служат для управления доступом к ячейке хранения во время операций чтения и записи. 6T SRAM является наиболее распространенным типом SRAM. [20] В дополнение к 6T SRAM, другие виды SRAM используют 4, 5, 7, [21] 8, 9, [20] 10 [22] (4T, 5T, 7T 8T, 9T, 10T SRAM) или больше транзисторов на бит. [23] [24] [25] Четырехтранзисторная SRAM довольно распространена в автономных устройствах SRAM (в отличие от SRAM, используемой для кэшей ЦП), реализована в специальных процессах с дополнительным слоем поликремния , что позволяет использовать подтягивающие резисторы с очень высоким сопротивлением. [26] Главным недостатком использования 4T SRAM является повышенная статическая мощность из-за постоянного тока, протекающего через один из подтягивающих транзисторов (M1 или M2).
Иногда это используется для реализации более одного порта (чтения и/или записи), что может быть полезно в определенных типах видеопамяти и регистровых файлов, реализованных с помощью многопортовой схемы SRAM.
Как правило, чем меньше транзисторов требуется на ячейку, тем меньше может быть каждая ячейка. Поскольку стоимость обработки кремниевой пластины относительно фиксирована, использование ячеек меньшего размера и, следовательно, размещение большего количества бит на одной пластине снижает стоимость за бит памяти.
Возможны ячейки памяти, использующие менее четырех транзисторов; однако такие ячейки 3T [27] [28] или 1T являются DRAM, а не SRAM (даже так называемые 1T-SRAM ).
Доступ к ячейке обеспечивается линией слова (WL на рисунке), которая управляет двумя транзисторами доступа M 5 и M 6 , которые, в свою очередь, контролируют, должна ли ячейка быть подключена к битовым линиям: BL и BL. Они используются для передачи данных для операций чтения и записи. Хотя наличие двух битовых линий не является строго обязательным, как сигнал, так и его инверсия обычно предоставляются для улучшения запасов по шуму и скорости.
Во время доступа к чтению битовые линии активно управляются инверторами в ячейке SRAM. Это улучшает пропускную способность SRAM по сравнению с DRAM — в DRAM битовая линия подключена к накопительным конденсаторам, а распределение заряда заставляет битовую линию колебаться вверх или вниз. Симметричная структура SRAM также допускает дифференциальную сигнализацию , что позволяет легче обнаруживать небольшие колебания напряжения. Еще одно отличие DRAM, которое способствует повышению скорости SRAM, заключается в том, что коммерческие чипы принимают все биты адреса одновременно. Для сравнения, в обычных DRAM адрес мультиплексирован в двух половинах, т. е. за старшими битами следуют младшие биты, по тем же выводам корпуса, чтобы сохранить их размер и стоимость на низком уровне.
Размер SRAM с m адресными линиями и n линиями данных составляет 2 m слов или 2 m × n бит. Наиболее распространенный размер слова составляет 8 бит, что означает, что один байт может быть прочитан или записан в каждое из 2 m различных слов в чипе SRAM. Несколько распространенных чипов SRAM имеют 11 адресных линий (таким образом, емкость составляет 2 11 = 2048 = 2 k слов) и 8-битное слово, поэтому их называют «2k × 8 SRAM».
Размеры ячейки SRAM в ИС определяются минимальным размером элемента процесса, используемого для изготовления ИС.
Ячейка SRAM имеет три состояния:
SRAM, работающая в режимах чтения и записи, должна иметь "читаемость" и "стабильность записи" соответственно. Три различных состояния работают следующим образом:
Если линия слова не подтверждена, транзисторы доступа M 5 и M 6 отключают ячейку от линий бит. Два перекрестно связанных инвертора, образованных M 1 – M 4, будут продолжать усиливать друг друга, пока они подключены к источнику питания.
Теоретически для чтения требуется только подтверждение линии слова WL и чтение состояния ячейки SRAM одним транзистором доступа и битовой линией, например M 6 , BL. Однако битовые линии относительно длинные и имеют большую паразитную емкость . Для ускорения чтения на практике используется более сложный процесс: цикл чтения начинается с предварительной зарядки обеих битовых линий BL и BL до высокого (логической 1 ) напряжения. Затем подтверждение линии слова WL включает оба транзистора доступа M 5 и M 6 , что приводит к небольшому падению напряжения одной битовой линии BL. Затем линии BL и BL будут иметь небольшую разницу напряжений между ними. Усилитель считывания определит, какая линия имеет более высокое напряжение, и таким образом определит, была ли сохранена 1 или 0. Чем выше чувствительность усилителя считывания, тем быстрее операция чтения. Поскольку NMOS мощнее, понижение происходит легче. Поэтому битовые линии традиционно предварительно заряжаются до высокого напряжения. Многие исследователи также пытаются выполнять предварительную зарядку при немного более низком напряжении, чтобы снизить энергопотребление. [29] [30]
Цикл записи начинается с применения значения, которое должно быть записано, к битовым линиям. Чтобы записать 0, к битовым линиям применяется 0, например, установка BL в 1 и BL в 0. Это похоже на применение импульса сброса к SR-защелке , что заставляет триггер изменить состояние. 1 записывается путем инвертирования значений битовых линий. Затем утверждается WL, и значение, которое должно быть сохранено, фиксируется. Это работает, потому что входные драйверы битовых линий спроектированы так, чтобы быть намного сильнее относительно слабых транзисторов в самой ячейке, поэтому они могут легко переопределить предыдущее состояние перекрестно-связанных инверторов. На практике транзисторы NMOS доступа M 5 и M 6 должны быть сильнее, чем нижние NMOS (M 1 , M 3 ) или верхние PMOS (M 2 , M 4 ) транзисторы. Это легко получить, поскольку транзисторы PMOS намного слабее NMOS при тех же размерах. Следовательно, когда одна пара транзисторов (например, M 3 и M 4 ) лишь немного перекрывается процессом записи, напряжение затвора противоположной пары транзисторов (M 1 и M 2 ) также изменяется. Это означает, что транзисторы M 1 и M 2 могут быть легче перекрыты, и так далее. Таким образом, перекрестно-связанные инверторы усиливают процесс записи.
ОЗУ со временем доступа 70 нс выведет действительные данные в течение 70 нс с момента, когда адресные строки действительны. Некоторые ячейки SRAM имеют «страничный режим», в котором слова страницы (256, 512 или 1024 слова) могут быть прочитаны последовательно со значительно более коротким временем доступа (обычно около 30 нс). Страница выбирается путем установки верхних адресных строк, а затем слова последовательно считываются путем перехода по нижним адресным строкам.
С введением реализации ячеек SRAM на основе транзистора FinFET они начали страдать от растущей неэффективности размеров ячеек. За последние 30 лет (с 1987 по 2017 год) с постоянным уменьшением размера транзистора (размера узла) сокращение площади самой топологии ячеек SRAM замедлилось, что усложнило упаковку ячеек более плотно. [4]
Помимо проблем с размером, существенной проблемой современных ячеек SRAM является утечка статического тока. Ток, который течет от положительного источника питания (V dd ), через ячейку и на землю, экспоненциально увеличивается при повышении температуры ячейки. Утечка мощности ячейки происходит как в активном, так и в состоянии ожидания, таким образом тратя полезную энергию без какой-либо полезной работы. Хотя за последние 20 лет эта проблема была частично решена с помощью техники напряжения удержания данных (DRV) со скоростью снижения от 5 до 10, уменьшение размера узла привело к снижению скорости снижения примерно до 2. [4]
Из-за этих двух проблем разработка энергосберегающей и плотной памяти SRAM стала более сложной задачей, что побудило полупроводниковую промышленность искать альтернативы, такие как STT-MRAM и F-RAM . [4] [31]
В 2019 году французский институт сообщил об исследовании 28-нм изготовленной ИС, предназначенной для Интернета вещей . [32] Она была основана на полностью обедненных кремниевых транзисторах на изоляторе (FD-SOI), имела двухпортовую шину памяти SRAM для синхронного/асинхронного доступа и селективную виртуальную землю (SVGND). В исследовании утверждалось, что сверхнизкий ток SVGND в режимах «сна» и чтения достигается путем тонкой настройки его напряжения. [32]