Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2011 №9

Новые микросхемы памяти FeRAM компании OKI Semiconductor

Криночкин Роман


Дальнейшее улучшение параметров микросхем памяти является одним из наиболее актуальных направлений современной микроэлектроники. Исторически знаменитый закон Мура выдвигался для интегральных микросхем обработки информации, однако приблизительно тот же экспоненциальный рост объемов наблюдается и в микросхемах памяти (что логично, учитывая, что закон касается взрывообразного роста количества транзисторов на кристалле, а транзисторы являются основой для ячеек памяти). Однако с ростом объема начинают возникать проблемы надежности (количества циклов перезаписи), а равно и скорости доступа к ячейкам памяти. В особенной мере данные вопросы касаются разработки энергонезависимой памяти. Вначале была изобретена EPROM с плавающим затвором и стиранием ультрафиолетом. Потом появилась EEPROM/Flash с плавающим затвором и стиранием электрическим импульсом. И вот недавно компания OKI Semiconductor сообщила о выпуске в коммерческую эксплуатацию чипов с совершенно другим принципом действия — FeRAM.

Что такое FeRAM?

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

Правда, процесс чтения таких ячеек был разрушающим — чтобы узнать, какой бит хранит ячейка, необходимо было подать подмагничивающий импульс и определить суперпозицию создаваемого им поля с хранимым в ячейке. Практически принцип работы остался без изменения, однако техническое исполнение было коренным образом переработано. В памяти на сердечниках (рис. 1) [1] используется довольно сложная механическая система с четырьмя проводами — записи, чтения, запрета и возбуждения, протянутыми под разными углами к каждому сердечнику. В отличие от этого конструкция FeRAM идентична структуре динамической памяти DRAM — «1T-1C» (рис. 2) [2], то есть каждая ячейка памяти состоит из одного конденсатора и одного управляющего транзистора. Весь «фокус» в диэлектрике внутри конденсатора: он изготовлен из сегнетоэлектрического материала, обладающего эффектом «памяти» (по сути, тот же гистерезис).

Структура памяти на магнитных сердечниках

Рис. 1. Структура памяти на магнитных сердечниках


Структура ячейки памяти FeRAM

Рис. 2. Структура ячейки памяти FeRAM

Запись бита в ячейку FeRAM производиться идентично записи в DRAM: управляющий транзистор подключает конденсатор к шине питания, тем самым создавая электрическое поле внутри сегнетоэлектрика и заставляя диполи ориентироваться вдоль этого поля. После отключения питания управляющим транзистором эта ориентированность сохраняется, что и обуславливает энергонезависимость данного типа памяти. Таким образом записывается «лог. 1». В случае, если нужно стереть записанный бит (то есть записать «лог. 0»), применяется инверсная полярность электрического поля. Так как время запоминания бита обуславливается временем зарядки запоминающего конденсатора, который имеет относительно небольшую емкость, то скорость записи в память данного типа сопоставима со скоростью записи в DRAM и более чем на порядок превосходит аналогичный параметр flash-памяти, в которой время записи определяется значительно большим временем туннелирования носителей через оксидный барьер к плавающему затвору.

Что же касается процесса чтения, то его организация не похожа на таковую в DRAM, а напоминает скорее функционирование памяти на сердечниках. С помощью управляющего транзистора к ячейке подключается линия с противоположной полярностью, чем при записи «лог. 1» (полярностью нуля). Если ячейка уже содержит «лог. 0», то на выходе ничего не произойдет. Если же там хранится «лог. 1», то на выходе будет зафиксирован импульс тока в связи с перезарядом конденсатора. Таким образом, процесс чтения является перезаписывающим и разрушающим, требующим восстановления значения бита после считывания.

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

Скорость

FeRAM является на сегодня одной из самых быстрых среди технологий энергонезависимой памяти, если считать время цикла запись/чтение. Выигрыш по сравнению с flash довольно значителен — 150 нс против 10 мкс. Однако если речь идет лишь о чтении, то выигрыш уже значительно меньше.

Энергопотребление

За счет технологических приемов и иного принципа действия производитель обещает снижение энергопотребления в полтора раза по сравнению с flash (ток питания FeRAM около 10 мА).

Плотность

У флэш-памяти этот параметр значительно выше — в связи с тем, что техпроцесс, используемый при ее производстве, основывается на 30-нм технологии, в то время как FeRAM производится по 300-нм процессам. Кроме того, КМОП-транзисторы, являющиеся основой для flash, более эффективно используют площадь кристалла, оставляя меньше пустых мест, чем структура «1C-1T». И последний факт: недавно появились ячейки flash, способные хранить по нескольку битов одновременно. Все это приводит к тому, что плотность хранения битов в FeRAM довольно мала относительно flash, а следовательно, мала и емкость кристалла памяти. Уточним, что, согласно roadmap [3], в этом году производитель запланировал пока что выпуск лишь субмегабитных образцов. Однако, спросит пытливый читатель, если конструкция FeRAM идентична DRAM, почему же мы не можем получить и идентичные плотности записи, достигающие сотен мегабайт на кристалл? Тут необходимо заметить, что проблема состоит из двух частей — с одной стороны, это вопрос скорее финансовый, чем технологический: FeRAM пока что не настолько коммерчески востребована, чтоб выпускать ее по 90-нм и даже 65-нм технологиям, как DRAM, что позволило бы значительно увеличить емкость. С другой стороны, сегнетоэлектрик — материал, не сильно распространенный в обычных техпроцессах электронной промышленности, что обуславливает большую стоимость получаемых кристаллов.

Надежность

Необходимо отметить значительное преимущество новой технологии в вопросе допустимого количества циклов перезаписи. Дело в том, что flash-память допускает от десятков до сотен тысяч таких циклов для гарантированной надежности считывания бита, и потому принципиально не подходит для записи данных, которые часто обновляются. В FeRAM аналогичный показатель достигает 1012 раз! И это ставит память на сегнето-электриках в особенное положение — так же быстро и надежно, как DRAM, но при этом энергонезависимо!

Характеристики существующих устройств

На данный момент компания OKI Semiconductor выпускает четыре модели микросхем для самых распространенных стандартов коммуникации между устройствами на плате. В наличии три варианта, работающие по последовательным интерфейсам I2C (MR44V064A) и SPI (MR45V032A, MR45V256A) и одно устройство для параллельного доступа (MR48V256A).

Опишем подробнее характеристики каждого из них.

MR44V064A

Устройство организовано как носитель с 64 кбитами памяти (8192 кбайт), оснащенный интерфейсом I2C для связи с мастер-устройством. Выводы восьмивыводной микросхемы распределены следующим образом (рис. 3): VCC, VSS — положительный и отрицательный полюсы питания; A0, A1, A2 — установка адреса ведомого устройства; WP# — защита от записи; SCL — тактовый сигнал от мастер-устройства; SDA — последовательный ввод/вывод. Так как для работы по указанному интерфейсу используются выводы с открытым коллектором, не следует забывать правильно подключать подтягивающие резисторы к линиям тактования и данных (рис. 4). Укажем, что корпусировка данной микросхемы идентична корпусировке популярных микросхем EEPROM серии 24Сххх, производимых многими известными компаниями (например, 24LC64 от Microchip).

Конфигурация выводов микросхемы MR44V064A

Рис. 3. Конфигурация выводов микросхемы MR44V064A


Подключение микросхемы к шине I2C

Рис. 4. Подключение микросхемы к шине I2C

Каждому ведомому устройству, работающему по протоколу I2C, задается индивидуальный адрес с помощью подачи высокого или низкого потенциала на адресные выводы A0–A2. Мастер во время каждой сессии передает адрес ведомого устройства, которому предназначается текущий пакет данных.

Любые переключения линии данных SDA должны производиться только тогда, когда сигнал на проводе тактования SCL находится в «низком» состоянии. Единственным исключением из этого правила являются биты СТАРТ и СТОП. СТАРТ инициирует передачу и распознается, когда линия данных SDA переходит в состояние «лог. 0», в то время как на тактовой линии SCL высокий уровень. СТОП завершает передачу и состоит из перехода SDA в состояние «лог. 1», в это время на SCL также высокий уровень. Общая структура пакета данных представлена на рис. 5. При этом после СТАРТ-бита следует адрес ведомого устройства, состоящий из нескольких частей: старшие четыре бита всегда имеют значение «1010»; следующие три бита равны состоянию адресных выводов A2–A0 того устройства, для которого предназначается данный пакет; младший бит адреса определяет, будет ли осуществляться чтение (бит равен «лог. 0») или запись («лог. 1»). Далее идет подтверждение приема (ACK) — состояние, при котором в случае успешно принятых данных приемник должен поддерживать на протяжении одного такта низкий уровень на линии SDA (подтверждение приема требуется после каждых восьми тактов передачи). После чего, собственно, передаются данные. В конце следует СТОП-бит.

Структура пакета данных

Рис. 5. Структура пакета данных

Для выполнения записи в память используется следующая последовательность (рис. 6): СТАРТ; адрес ведомого с младшим битом, равным «лог. 0» (запись); два байта, задающих адрес ячейки, куда производится запись; байт данных для записи; СТОП. Также доступна возможность последовательной записи в идущие подряд ячейки, вплоть до полной емкости памяти: для этого вместо СТОП-бита необходимо продолжать передавать байты данных — внутренний указатель адреса ячейки будет увеличиваться автоматически.

Последовательность битов при выполнении записи

Рис. 6. Последовательность битов при выполнении записи

Для выполнения операции чтения по произвольному адресу необходимо для начала записать во внутренний указатель этот адрес, а затем, отдельной командой, получить данные. Последовательность действий при этом такова: СТАРТ; адрес ведомого с младшим битом, равным «лог. 0» (запись); два байта, задающих адрес ячейки, из которой будет производиться чтение; снова СТАРТ; адрес ведомого с младшим битом, равным «лог. 1» (чтение); получаем на выходе байт данных; СТОП. Чтение может быть произведено и непосредственно по адресу, находящемуся во внутреннем указателе, он соответствует адресу ячейки, с которой проводилась последняя операция. Для этого просто используется последовательность, приведенная выше, после второго СТАРТ-бита.

Последовательность битов при выполнении чтения

Рис. 7. Последовательность битов при выполнении чтения

Микросхема способна работать по протоколу I2C в высокоскоростном режиме на частоте 3,4 МГц. Для этого перед подачей любой команды необходимо подать команду работы в HS-режиме: СТАРТ-бит; «00001ххх»; NOACK. Далее, не подавая СТОП, сразу перейти к чтению или записи.

Защита от записи может быть организована путем подачи высокого потенциала на вывод WP# — это запрещает запись по всем адресам ячеек микросхемы памяти [4].

Таблица 1. Основные характеристики микросхем серии MR44V064A

Параметр Значение
Напряжение питания, В 2,5–3,6
Ток потребления (режим ожидания), мкА 400
Ток потребления (активный режим), мкА 600
Ток утечки, мкА 10
Количество циклов перезаписи 1012
Время гарантированного хранения, лет 10
Частота интерфейса передачи, кГц 400/3400
Входная/выходная емкость, пФ 10

MR45V032A, MR45V256A

Две схожие микросхемы, с идентичными (в общем) параметрами и разной емкостью памяти. Работают по протоколу SPI, что и обуславливает отличие от описанной ранее MR44V064A. Явно бросающееся в глаза отличие в параметрах — частота передачи данных по интерфейсу 15 МГц против 3,4 МГц и существенно возросшее в связи с этим энергопотребление в активном режиме: 10 мА против 0,6 мА. К сожалению, производитель не предоставляет данных о потреблении на более низких частотах.

Распределение функций выводов следующее (рис. 8): VCC, VSS — плюс и общий провод питания; CS# — выбор ведомого; SI, SO — последовательный ввод и вывод; SCK — вход тактовой частоты от мастер-устройства; HOLD# — временная приостановка передачи данных; WP# — используется при защите от записи в регистр статуса. Микросхемы являются pin-to-pin-аналогами для EEPROM серий 25хххх (например, 25LC 256 от Microchip и AT25256 от Atmel).

Конфигурация выводов микросхем серии MR45V256A

Рис. 8. Конфигурация выводов микросхем серии MR45V256A

Организация приема-передачи в микросхемах этой серии совершенно иная, чем в MR44V064A. Любая транзакция начинается с перевода линии выбора ведомого устройства CS# в низкое состояние. Это позволяет также подключать несколько ведомых устройств к одной шине приема-передачи — активным в данный момент является лишь то устройство, на входе CS# которого мастер установил низкий сигнал.

После этого на вход SCK (Serial Clock) должен подаваться тактовый сигнал. Для передачи и приема используются две раздельные линии SO (Serial Output) и SI (Serial Input). Данные на входной шине фиксируются по нарастающему фронту тактового сигнала, на выходной — по спадающему.

Выполнение тех или иных действий производится микросхемой только по получении от мастера специальных команд (опкодов). Опкод подается на вход первым в пакете данных. Всего их шесть: запись (WRITE) и чтение (READ) данных в ячейку по произвольному адресу; установка (WREN) и сброс (WRDI) бита разрешения записи; запись (WRSR) и чтение (RDSR) регистра статуса (табл. 2).

Таблица 2. Коды операций (опкоды)

Инструкция Описание Код инструкции
WREN Установка бита разрешения записи 0000 0110
WRDI Сброс бита разрешения записи 0000 0100
RDSR Чтение из регистра статуса 0000 0101
WRSR Запись в регистр статуса 0000 0001
READ Чтение из блока памяти 0000 0011
WRITE Запись в блок памяти 0000 0010

Регистр статуса — специальный регистр памяти, в котором находятся биты для управления поведением микросхемы и информация о ее состоянии. Структура этого регистра приведена на рис. 9. Значения битов таковы: SRWD (Status Register Write Disable) — предохранительный бит, запрещающий изменение регистра статуса, используется при установке защиты от записи ячеек памяти с помощью битов BP1 и BP0, состояние которых определяет, какая часть памяти будет защищена от редактирования (табл. 3); WEL (Write Enable Latch) — бит разрешения записи, должен быть установлен опкодом WREN перед любой процедурой записи (как в память, так и в регистр статуса), сбрасывается автоматически после завершения записи или вручную командой WRDI; WIP (Write In Progress) — признак того, что микросхема занята циклом записи. Последний бит внедрен для совместимости с популярными сериями микросхем памяти EEPROM (25xxx), в которых цикл записи занимает значительное время, и потому имеет смысл контролировать доступность устройства для выполнения следующих операций. В MR45Vxxx скорость записи значительно выше, поэтому она производится «на лету», и бит WIP всегда равен «лог. 0».

Структура регистра статуса

Рис. 9. Структура регистра статуса

Таблица 3. Значение битов защиты от записи

BP1 BP0 Защищаемая часть памяти
0 0 Нет
0 1 1/4 старших адресов
1 0 1/2 старших адресов
1 1 Вся память

Опишем подробнее последовательности, используемые в случае каждого опкода:

  • WREN (Write Enable) устанавливает бит разрешения записи (WEL). Необходимо отдавать команду WREN перед каждой записью (в память или в регистр статуса). Последовательность действий: CS# → «лог. 0»; на линию последовательного ввода SI мастер подает код операции WREN «0000 0110», выставляя очередной бит с каждым новым тактовым циклом на линии SCK; CS# → «лог. 1».
  • Редко востребованная команда WRDIS (Write Disable) сбрасывает бит WEL разрешения записи, тем самым запрещая любую запись в микросхему. Последовательность та же, только подается опкод команды WRDIS.
  • RDSR (READ Status Register) позволяет прочитать содержимое регистра статуса. В основном используется для проверки состояния защиты от записи. В совместимых микросхемах часто использовалась также для проверки окончания цикла записи (бит WIP, см. выше замечание относительно него).
  • WRSR (WRITE Status Register) — запись в регистр статуса. Для записи доступны только три бита (SRWD, BP1, BP0), все они применяются для установки защиты от записи. Остальные биты регистра статуса (WEL и WIP) изменить таким образом нельзя.
  • READ позволяет прочитать содержимое ячейки памяти по произвольному адресу. Минимально возможной единицей чтения является байт. Последовательность такова (рис. 10): CS# → «лог. 0»; на линию последовательного ввода SI мастер подает код операции READ «0000 0011»; далее подается 16-битный адрес байта для чтения; после этого с каждым следующим тактом на шине последовательного вывода SO будет появляться новый бит запрошенного байта; CS# → «лог. 1». Если после получения всего запрошенного байта не переводить линию CS# в высокий уровень, то на выводе мы будем получать биты байта, следующего за запрошенным. Таким образом можно прочитать всю память. При достижении старшего адреса считывание продолжится с нулевой ячейки.
    Тайминги процесса чтения

    Рис. 10. Тайминги процесса чтения
  • Команда WRITE предназначена для записи значения байта в память по произвольному адресу. Последовательность (рис. 11): CS# → «лог. 0»; на линию последовательного ввода SI мастер подает код операции WRITE «0000 0010»; далее мастер подает 16-битный адрес ячейки для записи; следом подается сам байт (по одному биту каждый такт); CS# → «лог. 1». Если продолжать подавать тактовый сигнал, то следующие ячейки будут перезаписываться информацией, поступающей на вход SI. Тут нужно быть внимательным, чтоб не потерять данные за счет их перезаписи неверными значениями. При достижении старшего адреса запись (перезапись) продолжается с нулевого адреса.
    Тайминги процесса записи

    Рис. 11. Тайминги процесса записи

Защита от записи главным образом организуется за счет установки битов BP1, BP0 регистра статуса с помощью команды WRSR. Вывод WP#, в отличие от микросхем серии MR44V064, блокирует не записи в память, а лишь изменение самого регистра статуса (однако срабатывает эта защита только при установленном бите SRWD) [5].

MR48V256A

Данная микросхема имеет параллельный доступ к хранимой информации. Для этого 15 выводов A0–A14 используются для адресации и восемь выводов D0–D7 — для передачи и прима данных. Вывод CE# (Chip Enable) активирует устройство. Вид операции (чтение или запись) определяется с помощью вывода WE# (Write Enable): «лог. 0» — запись, «лог. 1» — чтение. OE# (Output Enable) активирует выходной буфер [6].

Конфигурация выводов микросхемы MR48V256A

Рис. 12. Конфигурация выводов микросхемы MR48V256A

Режим, в котором микросхема находится в данный момент, определяется состоянием выводов CE# и WE# (табл. 4).

Таблица 4. Состояния микросхемы MR48V256

Состояние CE# WE#
Не активна «лог. 1» x
Адрес считан «лог. 1» → «лог. 0» x
Чтение «лог. 0» «лог. 1»
Запись «лог. 0» «лог. 1» → «лог. 0»

В случае выполнения чтения последовательность такова: выставляем на шину A0–A14 адрес ячейки, хранящей необходимый байт; переводим CE# в состояние «лог. 0», что позволяет запомнить адрес с шины; после того как устройство-приемник готово, переводим OE# в «лог. 0». Через определенное время (около 40 нс) на шине данных D0–D7 появится значение запрошенного байта. Во все время выполнения чтения вывод WE# должен поддерживаться в состоянии «лог. 1». Следующий цикл записи/чтения можно начинать не ранее чем через 150 нс.

Для записи необходимо выставить адрес ячейки на шину A0–A14; CE# → «лог. 0»; перевести линию WE# в состояние «лог. 0»; после этого можно подавать на шину данных байт для записи. Приблизительно через 40 нс данные будут запомнены и еще через 80 нс внутренний цикл записи будет завершен.

Применение FeRAM

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

Дальнейшее расширение ассортимента выпускаемых устройств, согласно планам компании-производителя, увеличит количество памяти до 2 Мбит во втором квартале 2012 г. и до 8 Мбит к концу 2012-го. Причем первые из упомянутых устройств будут доступны только в варианте последовательного доступа, тогда как вторые — также и в варианте параллельного доступа.

Выводы

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

Литература

  1. http://upload.wikimedia.org/wikipedia/commons/8/84/Coincident-current_magnetic_core.svg
  2. http://upload.wikimedia.org/wikipedia/commons/f/fc/FeRAM cell_configuration_1.svg
  3. Ferroelectric RAM (FeRAM) presentation // ROHM Semiconductor. 2010.
  4. MR44V064A. 64k FeRAM (Ferroelectric Random Access Memory) I2C // OKI Semiconductor. 2010.
  5. MR45V256A. 256k FeRAM (Ferroelectric Random Access Memory) SPI // OKI Semiconductor. 2010.
  6. MR48V256A. 256k FeRAM (Ferroelectric Random Access Memory) // OKI Semiconductor. 2010.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке