Использование MRAM для оптимизации энергопотребления системы
Для многих беспроводных и портативных приложений, особенно в растущем сегменте «интернет вещей», критическим является энергопотребление (мощность, потребляемая устройством в течении продолжительного периода времени). Основная задача проводимого исследования – это может ли функция fast-Write и power-up-to-Write для MRAM памяти существенно снизить общее энергопотребление системы по сравнению с любой EEPROM или Flash памятью.
Для этой статьи специалист компании Everspin сравнили энергопотребление системы в типичной системе сбора данных с использованием Flash, EEPROM и MRAM памяти.
- Время записи в энергонезависимую память вносит основной вклад в общее энергопотребление системы, таким образом меньшее время записи в MRAM память может фактически уменьшить общее энергопотребление системы.
- Дальнейшее снижение энергопотребления может быть достигнуто при использовании power-gating архитектуры с MRAM из-за того, что время включения и готовности к записи (power-up to write) у MRAM практически равно нулю.
Типовая система памяти:
Использовалась схема на рисунке 1, чтобы представить низковольтный стабилизатор напряжения (LDO), микроконтроллер (MCU), энергонезависимую память и развязывающий конденсатор, что является типичным для систем сбора данных, таких как медицинские мониторы, регистраторы данных и т.д.; другие компоненты системы, такие как сенсоры и мощность, которую они потребляют, не рассматривались. Предполагается, что микроконтроллер находится в режиме пониженного энергопотребления (сна) из которого он периодически выходит для сбора данных. Полученные данные сохраняются в энергонезависимой памяти, после чего микроконтроллер возвращается в режим сна.
Сравнивались энергонезависимая память с SPI интерфейсом и только циклы записи, так как они обычно потребляют намного больше энергии, чем циклы чтения. Количество байт данных, которые могут быть записаны на четыре меньше, чем количество байт на шине SPI, так как сюда добавляется команда записи, WREN байт и два адресных байта. Количество байтов, записанных в энергонезависимую память было выбрано 4 и 46. Четыре представляет собой один образец собранных данных. 46 является оптимальным количеством данных, которые могут быть записаны в MRAM память при питании от развязывающего конденсатора 1,0 мкФ.
Рисунок 1
Соображения о стробировании мощности
Несколько быстрых расчетов показали, что использование развязывающего конденсатора очень важно при стробирующих(импульсных) потреблениях мощности. Количество энергии, которое необходимо для заряда разряженного конденсатора, достаточно существенно. EEPROM может быть запитан напрямую от портов ввода/вывода стандартного микроконтроллера, обычно питающий ток составляет 4 мА и для развязки может быть использован конденсатор меньшего номинала 0,1 мкФ. MRAM и Flash память нуждаются в большем токе могут питаться только от конденсатора большего номинала.
Фаза записи
Был рассчитан расход энергии энергонезависимой памяти во время фазы записи Фаза записи показана на рис.2
Рисунок 2
Время нарастания (Rise Time)
Во время это фазы я предполагал, что вся энергия переходит в разделительный конденсатор, а энергонезависимая память потребляет незначительное количество энергии.
Время включения (Power-Up Time)
Как только напряжение VDD станет выше порогового, для MRAM (в отличии от EEPROM или Flash) требуется всего небольшая задержка (tPU) для перехода в готовое состояние.
Время записи (Write Time)
Во время этой фазы энергонезависимая память потребляет ток, показанный в спецификации в datasheet (даташит). Если предположить, что это система с рабочим напряжением питания 3,3 В и нестабильностью ±10%, минимальное напряжение на порту ввода/вывода может быть 3,3 В - 10% = 2,97 В. Это напряжение и было использовано в расчетах.
Энергетические расчеты
Расчет был начат с расчета энергии используемой в энергонезависимой памяти во время фазы записи. При расчетах использовалась спецификация типовой памяти с напряжением питания 3,3 В, током ожидания 1 мкА, временем записи 5 мс и током записи в 3 мА.
Для EEPROM я предполагал следующее:
- EEPROM готова начать работу, как только VDD устанавливается в пределах эксплуатационных ограничений (нулевое время включения).
- Количество записываемых данных помещается на одну страницу, используется возможность блочной записи.
- За время записи в EEPROM принималось только само время записи. В расчет не включалось любое время обработки и время передачи данных из MCU по шине SPI (это предположение является противоположным тому, что используется при работе с MRAM. В MRAM время обработки и передачи учитывается, так как непосредственно время записи можно считать нулевым).
- EEPROM питается непосредственно от порта ввода/вывода микроконтроллера и используется небольшой (0,1 мкФ) развязывающий конденсатор. (Таблица 1)
Энергия используемая в последовательной Flash памяти
Последовательная Flash память характеризуется гораздо более высокими токами ожидания и записи. В расчетах я использовал резервный ток 50 мкА, время записи 3ms и ток записи 15 мА. Так как Flash память схожа с EEPROM, для нее я сделал 3 аналогичные предположения (1) Нулевое время включения, (2) Данные вписывается в одну страницу, (3) Время записи настолько велико, что я проигнорировал время связи. Я также предположил, что запись производится на предварительно очищенную страницу (см. таблица 2)
Таблица 2
Энергия используемая MRAM памятью
Коммерческими продуктами MRAM памяти обладает только компания Everspin Technologies; для оценки использовались MR25H256, 256 Kbit SPI MRAM. Таблица 3 показывает энергию на байт данных, при этом значение потребляемой энергии минимально если используется вся энергия развязывающего конденсатора. Соответственно его номинал должен быть выбран в соответствии с типовым объемом собираемых данных. Конденсатор емкостью 1 мкФ позволяет записать 50 байт (46 байт данных) с помощью SPI шины на частоте 40 МГц и MRAM памятью потребляющей 27 мА. Это вычисление объясняет почему для оценки используются 46 байт данных.
Таблица 3
Энергия используемая микроконтроллером (MCU) и стабилизатором напряжения (LDO)
Для микроконтроллера было предложено, время активного состояния в течении которого он «просыпается», производит необходимые измерения и передает результат в энергонезависимую память составляет 100 мкс. Также было предложено, что в это время активное потребление составляет 500 мкА (это типовое значение для небольших микроконтроллеров работающих на частоте ~5 МГц). Это дает нам энергопотребление 3,3 В × 500 мкА × 100 мкс = 0,165 мкДж за цикл. В добавлении к энергии необходимой для осуществления измерения добавлена энергия которую необходимо потратить чтобы поддерживать микроконтроллер в активном состоянии в процессе записи в энергонезависимую память.
В пассивном режиме микроконтроллер находится в режиме сна, потребляя 5 мкА. Стабилизатор напряжения потребляет 1 мкА во врех фазах: операция, активная сон.
Суммарный результат
Все произведенные вычисления были сведены в Таблицу 4. Расчеты были произведены для систем, которые осуществляют 10 и 100 измерений в секунду (4 байта на измерение). Для скорости 100 измерений в секунду EEPROM требуется 0,5 секунды только для записи в память. Более высокая скорость измерений потребует кеширования и затем блоковой записи.
Таблица 4
Рисунок 3
Выводы
Время записи энергонезависимой памяти существенно влияет на общее энергопотребление системы. Для систем с малым коэффициентом рабочего цикла эффекты менее выражены и становятся более выраженными при увеличении скорости измерений и записи в память.
Время записи EEPROM и Flash памяти значительно увеличивает энергопотребление микроконтроллера (MCU), так как они вынуждают микроконтроллер быть активным дольше. Потребление энергии можно снизить если во время записи в EEPROM и Flash память микроконтроллер будет находится в режиме сна. Однако и при этом количество энергии потребляемой EEPROM и Flash памятью намного больше чем потребление микроконтроллера, а значит нахождение последнего в режиме сна не даст существенной экономии.
Понятно, что самый низкий расход энергии может быть достигнут при быстрой записи, которую можно осуществить используя MRAM память.
Почему режим Power Gating более энергетически эффективен, чем режим сна
EEPROM память обладает очень низким энергогпотреблением в режиме standby. При этом один цикл записи в EEPROM эквивалентен 15 секундам в режиме standby. Опять энергопотребление в режиме записи доминирует.
Режим Power Gating характерен для MRAM памяти, он существенно снижает количество используемой энергии. Энергопотребление за один цикл записи для MRAM памяти составляет 1,54 мкДж. Эта та же энергия (~1 мкА), которую потребляет EEPROM память 3,3 В в режиме standby за 0,46 секунды. И опять энергия записи доминирует над энергией standby.
Автор: Дункан Беннет (Duncan Bennett) менеджер по маркетингу продуктов Everspin Technologie