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

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

Что такое FeRAM?

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

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

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

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

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

Что же касается процесса чтения, то его организация не похожа на таковую в 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, но при этом энергонезависимо!

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

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

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

MR44V064A

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

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

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

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

Любые переключения линии данных SDA должны производиться только тогда, когда сигнал на проводе тактования SCL находится в «низком» состоянии. Единственным исключением из этого правила являются СТАРТ и СТОП биты. СТАРТ инициирует передачу и распознается когда линия данных SDA переходит в состояние логического «0», в то время как на тактовой линии SCL высокий уровень. СТОП завершает передачу и состоит из перехода SDA в в состояние логической «1», также когда на SCL высокий уровень. Общая структура пакета данных представлена на рис. 5. При этом, после СТАРТ-бита следует адрес ведомого устройства, состоящий из нескольких частей: старшие 4 бита всегда имеют значение «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 мА. К сожалению, производитель не предоставляет данных о потреблении на более низких частотах.

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

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

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

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

Выполнение тех или иных действий микросхемой производиться только по получении от мастера специальных команд (опкодов). Опкод подается на вход первым в пакете данных. Всего их 6: запись (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 используются для адресации и 8 выводов D0-D7 для передачи и прима данных. Вывод CE# (Chip Enable) активирует устройство. Вид операции (чтение или запись) оперделяется с помощью вывода WE# (Write Enable): 0 – запись, 1 - чтение. OE# (Output Enable) активирует выходной буфер [6].

Рис. 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. Компоненты и технологии - журнал об электронных компонентах.
  2. http://upload.wikimedia.org/wikipedia/commons/8/84/Coincident-current_magnetic_core.svg
  3. http://upload.wikimedia.org/wikipedia/commons/f/fc/FeRAM¬¬_cell_configuration_1.svg
  4. Ferroelectric RAM (FeRAM) presentation. – ROHM Semiconductor. – 2010 October 20.
  5. MR44V064A. 64k FeRAM (Ferroelectric Random Access Memory) I2C. - OKI Semiconductor. – 2010 September 14. – 15 p.
  6. MR45V256A. 256k FeRAM (Ferroelectric Random Access Memory) SPI. - OKI Semiconductor. – 2010 September 10. – 20 p.
  7. MR48V256A. 256k FeRAM (Ferroelectric Random Access Memory). - OKI Semiconductor. – 2010 August 26. – 12 p.

Заявка на получение образцов

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

Организация
Название организации
Неверный Ввод
Почтовый адрес
Неверный Ввод
Телефон организации
Неверный Ввод
Контактное лицо
Ф.И.О. (*)
Заполните, пожалуйста, поле
E-mail (*)
Заполните, пожалуйста, поле
Моб.телефон (*)
Заполните, пожалуйста, поле
Дополнительные вопросы
Наберите символы с картинки