Перейти к содержанию

Сравнение PSRAM с другими типами памяти для встраиваемых систем

PSRAM — псевдостатическая RAM (pseudo-static RAM) — во многих встраиваемых устройствах служит дополнительной рабочей памятью, когда внутренней SRAM недостаточно, и занимает промежуточное место между SRAM и энергонезависимым хранилищем. В ней можно размещать кадровые буферы, крупные графические ресурсы, аудиобуферы, данные модели и рабочий набор приложения, который не помещается во внутреннюю SRAM. В некоторых устройствах с низким энергопотреблением, например носимых, PSRAM может снизить энергопотребление системы по сравнению с отдельной подсистемой DRAM; результат зависит от выбранных микросхем памяти, контроллера, режимов работы и нагрузки. При этом PSRAM остаётся энергозависимой рабочей памятью: она не заменяет флеш-память и не всегда подходит для данных, чувствительных к задержке.

Используйте эту статью, чтобы решить, какие данные хранить в SRAM, PSRAM или энергонезависимой памяти. Затем сверьтесь со страницей Семейство SF32 и документацией на конкретную микросхему, модуль или плату: она подтвердит, какая память установлена в выбранном SKU.

Краткая модель

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

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

Статическая и динамическая память: откуда взялось «псевдо»

В данном контексте понятия статическая и динамическая описывают, как ячейка RAM сохраняет бит при поданном питании. Они не указывают, сохраняются ли данные после отключения питания: и SRAM, и DRAM энергозависимы.

  • Бит SRAM хранится в статической защёлке. После записи он остаётся действительным без периодического обновления, пока устройство включено и работает в пределах спецификации. Обратная сторона — более крупная ячейка памяти, ограничивающая ёмкость и увеличивающая площадь кристалла и стоимость бита.
  • Бит DRAM хранится в виде заряда конденсатора. Заряд постепенно утекает, поэтому бит нужно периодически считывать и восстанавливать — выполнять обновление (refresh) до того, как заряд упадёт слишком низко. Более компактная ячейка повышает плотность хранения DRAM, но обычно требует контроллера, который управляет обновлением и соблюдает временные параметры DRAM.

В PSRAM обычно используется динамический массив ячеек, подобный DRAM. Устройство PSRAM само выполняет обновление и скрывает внутри корпуса значительную часть специфического для DRAM управления. Поэтому модель доступа со стороны хоста больше похожа на SRAM: хост читает и записывает адресуемую область памяти, не планируя периодическое обновление самостоятельно. Это не означает, что интерфейс и временные параметры любой PSRAM совпадают с параметрами SRAM. Она называется псевдостатической, потому что динамическая RAM имитирует внешнее поведение статической RAM, а не потому, что ячейка хранения стала статической.

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

Чем PSRAM не является

PSRAM — не энергонезависимое хранилище, не гарантия задержек на уровне внутренней SRAM и не гарантия достаточной пропускной способности системы. Она решает проблему ёмкости; задержка, энергопотребление и пропускная способность зависят от выбранной микросхемы и нагрузки.

Сравнение типов памяти

Таблица: сравнение типов памяти во встроенных системах
Тип памяти Сохраняет данные без питания? Основная характеристика Типичное преимущество Основной компромисс при проектировании Типичное применение во встроенных системах
SRAM Нет Статическая защёлка; обновление не требуется Внутренняя SRAM обычно даёт малую предсказуемую задержку; фактическое время доступа зависит от тракта памяти SoC и конкурирующих обращений Неэффективное использование площади ограничивает ёмкость на кристалле; в постоянно работающих системах важен ток утечки Стек, часто используемые код и данные, дескрипторы DMA, буферы для прерываний с жёсткими требованиями к задержке, память с прямой связью с ядром (TCM)
DRAM Нет Хранение в конденсаторах; обновлением управляют внешний контроллер и интерфейс DRAM Высокая плотность и низкая стоимость бита при большой ёмкости Обновление, сложность контроллера, временные параметры строк и банков, управление энергопотреблением Основная память систем с прикладным процессором и встроенных систем большой ёмкости
PSRAM Нет Ячейки как у DRAM; обновление и управление скрыты в микросхеме памяти, а модель доступа хоста близка к SRAM Расширяет рабочую ёмкость сверх внутренней SRAM; в некоторых системах с низкой или умеренной пропускной способностью может упростить интеграцию и снизить энергопотребление по сравнению с отдельной подсистемой DRAM Задержка выше и менее предсказуема, чем у внутренней SRAM; пропускная способность интерфейса ограничена и делится с другими клиентами Кадровые буферы, крупные буферы графики/аудио/ИИ, распакованные ресурсы и рабочие наборы приложения
RRAM / ReRAM Да Данные представляются изменением сопротивления ячейки Потенциально компактная энергонезависимая встроенная память с низким энергопотреблением в режиме ожидания Характеристики записи, ресурс циклов записи, сохранность данных, разброс параметров и доступность сильно зависят от процесса и продукта Энергонезависимые настройки, хранение кода и данных или специализированная встроенная память, если технология поддерживается
MRAM Да Данные представляются магнитным состоянием Быстрый энергонезависимый доступ, высокий ресурс циклов записи, обновление не требуется Стоимость, плотность, энергия записи и доступная ёмкость зависят от поколения MRAM и конкретного продукта Сохранение состояния, хранение кода и данных или быстрая энергонезависимая рабочая память в поддерживаемых устройствах

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

Почему PSRAM подходит изделиям с низким энергопотреблением

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

Это не универсальная гарантия энергопотребления на байт или на доступ. Интерфейс PSRAM с высокой частотой, непрерывное сканирование кадрового буфера или интенсивный обмен данными для дисплея, аудио и ИИ всё ещё могут стать основной статьёй энергопотребления памяти. Сравнивайте токи выбранных устройств в активном режиме, ожидании, удержании данных и при пробуждении при фактических частоте, напряжении, температуре и характере доступа. Используйте Half-Sleep и другие режимы, только если конкретное устройство их поддерживает и они дают нужный эффект.

Где использовать каждый тип памяти

Учитывайте срок хранения данных и срочность доступа к ним:

  1. Размещайте во внутренней SRAM или другой документированной памяти с малой задержкой код и данные, необходимые для быстрого обслуживания прерываний, часто используемые или критичные по задержке.
  2. Используйте PSRAM для больших активных рабочих наборов, если выигрыш в ёмкости оправдывает задержку и ограничение пропускной способности.
  3. Данные, которые должны пережить отключение питания, храните в энергонезависимой памяти: обычно NOR Flash, NAND Flash, eMMC, а в системах с поддержкой — также RRAM или MRAM.
  4. Оставляйте редко используемые ресурсы в энергонезависимом хранилище и переносите или декодируйте только те данные, которые нужны для текущей операции.

Типичная схема встроенной системы:

Схема: типичное размещение памяти во встроенной системе
Persistent firmware image, assets, settings -> Non-volatile storage
Active large buffers and framebuffers -> PSRAM
Hot stacks, control state, DMA data  -> Internal SRAM

Это стратегия размещения, а не требование для каждого буфера. Небольшое часто используемое изображение может храниться в SRAM; крупная модель — во флеш-памяти или PSRAM; дисплейной системе может потребоваться PSRAM просто потому, что полный кадровый буфер не помещается во внутреннюю память.

Пропускная способность PSRAM ограничена интерфейсом

Большая ёмкость PSRAM не означает неограниченную пропускную способность. Хост обращается к памяти через интерфейс, например OPI или HPI в поддерживаемых конфигурациях SF32. Этот путь может быть общим для CPU, кэшей, DMA, графики, вывода изображения на дисплей, аудио, беспроводной связи и хранилища. Даже при достаточном объёме PSRAM одновременная нагрузка от нескольких клиентов может вызывать рывки в работе или опустошение буферов (underrun).

Разрядность интерфейса и скорость передачи

Теоретическая скорость передачи полезных данных определяется разрядностью шины данных, числом передач за такт и частотой интерфейса:

payload rate (MB/s) = data lines × transfers per clock × interface clock (MHz) ÷ 8

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

Таблица: теоретическая скорость передачи данных последовательной памятью
Интерфейс и режим передачи Линии полезных данных Передач за такт Скорость полезных данных на MHz Частота для сравнения Теоретическая скорость
QSPI / STR 4 1 0,5 MB/s 72 MHz 36 MB/s
QSPI / DTR 4 2 1 MB/s 72 MHz 72 MB/s
OPI / DDR 8 2 2 MB/s 144 MHz 288 MB/s
Двухканальный OPI / DDR 2 × 8 = 16 2 4 MB/s 144 MHz 576 MB/s
HPI / DDR 16 2 4 MB/s 144 MHz 576 MB/s
Двухканальный HPI / DDR 2 × 16 = 32 2 8 MB/s 144 MHz 1 152 MB/s

В столбце с линиями указаны только линии передачи полезных данных, без тактового сигнала, выбора микросхемы и других управляющих сигналов. Эти частоты — примеры из документации SiFli, а не ограничения для всего семейства. В руководстве SF32LB52-DevKit-LCD указаны OPI-PSRAM на 144 MHz и QSPI-NOR на 72 MHz в режиме STR; руководство SF32LB58-DevKit-LCD указывает HPI-PSRAM на 144 MHz и варианты платы с внешней флеш-памятью на 72 MHz. В строке QSPI/DTR частота 72 MHz используется только для наглядного сравнения передачи по обоим фронтам тактового сигнала. Для двухканальных вариантов предполагается, что оба канала можно использовать одновременно: приведена суммарная разрядность шины, а не гарантия удвоения эффективной скорости одного потока CPU. Это предельные скорости передачи полезных данных по шине, а не измеренная производительность приложения. Команды и адреса, холостые такты, обновление памяти, переключение между чтением и записью, ограничения контроллера, промахи кэша, арбитраж DMA, целостность сигналов на плате и одновременная работа клиентов снижают полезную скорость. Допустимые параметры определяются конкретными микросхемой, корпусом, устройством памяти и конфигурацией SDK.

В руководстве SiFli по моделям микросхем приведены примеры двухканальных конфигураций: SF32LB566VCB36 имеет 8 MB OPI-PSRAM на MPI1 и 4 MB на MPI2; SF32LB586VDD36 — по 16 MB HPI-PSRAM на каждом интерфейсе; SF32LB587VEE56 — по 32 MB на каждом интерфейсе. Эти номера деталей иллюстрируют топологию памяти, но не гарантируют, что один клиент получит суммарную скорость передачи полезных данных из таблицы. Перед расчётом пропускной способности проверьте полный заказной номер и карту памяти SDK: у другого корпуса или SKU того же семейства топология может отличаться.

Зачем нужны два канала памяти

Главное преимущество двухканальной конфигурации — не только более высокая суммарная пропускная способность. Если карта памяти и конфигурация дисплея/контроллера выбранного SF32 позволяют независимо распределять данные, один канал можно выделить клиенту с критическими требованиями к пропускной способности, а второй оставить для остальной системы.

Типичный пример — дисплей RGB/DPI. Его контроллер должен непрерывно считывать кадровый буфер с частотой пиксельного тактового сигнала. Задержка чтения может вызвать нехватку данных (underrun), визуальные артефакты или нестабильное обновление. Если разместить кадровый буфер в области памяти, обслуживаемой одним каналом PSRAM, а ресурсы UI, аудиобуферы и другие рабочие данные, к которым обращаются CPU, ePicasso или DMA, — в области другого канала, можно уменьшить лишнюю конкуренцию за доступ к памяти на пути чтения дисплея.

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

Кэш и выполнение кода из внешней памяти

Если код или данные находятся во внешней DRAM/PSRAM, I-cache и D-cache могут существенно сократить повторные медленные обращения к памяти на устройствах SF32, где эта функция реализована и включена, а соответствующие области отображены как кэшируемые:

  • I-cache хранит рядом с CPU недавно загруженные строки инструкций. Код с выраженной локальностью — например циклы, повторно используемые функции, участки RTOS или код UI — после заполнения кэша требует меньше повторных обращений к PSRAM или NOR за инструкциями.
  • D-cache хранит рядом с CPU недавно прочитанные строки данных. Он ускоряет повторное чтение таблиц, ресурсов и рабочих данных со стороны CPU, но не устраняет трафик однократного последовательного чтения.
  • Для некогерентного DMA нужны явное управление владением буфером и обслуживание кэша. Если буфер кэшируется, но аппаратная когерентность не обеспечивается, перед чтением DMA или периферией запишите изменённые CPU данные из кэша в память. Перед записью DMA подготовьте приёмный буфер по правилам платформы, чтобы последующая запись изменённых (dirty) строк кэша не перезаписала полученные данные. После завершения передачи инвалидируйте устаревшие строки, прежде чем CPU прочитает результат. Пока буфером владеет DMA, CPU не должен обращаться к нему.

Выровняйте начальный адрес и выделенный размер DMA-буфера по границам целых строк кэша; не размещайте в этих строках посторонние данные. Инвалидация общей изменённой (dirty) строки может потерять изменения другой переменной, а её запись в память после записи DMA — перезаписать новые данные. Используйте API выбранного SDK или RTOS, соблюдайте размер строки кэша, проверки завершения передачи и требования к барьерам памяти. Не переносите без проверки API и значения выравнивания с другого процессора. Некэшируемые буферы и буферы с аппаратной когерентностью подчиняются правилам синхронизации своей платформы.

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

Копирование кода в PSRAM при загрузке (non-XIP)

В руководствах SiFli по запуску SF32LB52x и SF32LB58x описаны конфигурации, в которых приложение с внешней NAND Flash копируется в PSRAM для выполнения; в обоих руководствах также описан вариант с внешней SD Flash через SDIO. SiFli называет такой способ non-XIP: при XIP код выполняется непосредственно по адресу NOR Flash, поэтому адреса хранения и выполнения совпадают; при non-XIP код копируется из флеш-памяти в RAM, и адреса различаются. См. руководство по запуску SF32LB52x и руководство по запуску SF32LB58x (на китайском). Это описанные конфигурации, а не гарантия поддержки для любого SKU или платы. Проверьте поддерживаемый носитель загрузки, карту адресного пространства, настройки linker/разделов и SDK целевого устройства. Выполнение выбранного кода из PSRAM может освободить ограниченную встроенную SRAM для других задач, но не гарантирует ускорения; измерьте репрезентативные нагрузки с фактическими настройками кэша и конкуренцией за память.

В типовых конфигурациях SiFli верхняя граница скорости передачи полезных данных для NOR QSPI/STR на 72 MHz составляет 36 MB/s. Для PSRAM OPI/DDR и HPI/DDR на 144 MHz она составляет соответственно 288 MB/s и 576 MB/s; у двухканальных вариантов суммарная скорость достигает 576 MB/s и 1 152 MB/s. В поддерживаемой конфигурации более высокая пропускная способность PSRAM может дать дополнительный запас для выборки инструкций, но сама по себе не доказывает, что выполнение кода из PSRAM будет быстрее. Результат зависит от задержки микросхемы памяти, локальности кода, конфигурации кэша, конкуренции за PSRAM и того, ограничено ли приложение производительностью CPU, кэша или пропускной способностью. Измеряйте время загрузки, промахи кэша и репрезентативную нагрузку; не выводите производительность приложения только из сравнения предельных скоростей шин.

Для проекта с интенсивным использованием PSRAM проверьте на целевом оборудовании следующее:

  • Какие блоки одновременно читают и записывают PSRAM в пиковом пользовательском сценарии?
  • Читается ли буфер последовательно, пакетами, случайно или многократно (последнее — со стороны CPU)?
  • Снижает ли кэш число повторных обращений и правильно ли обслуживается кэш при работе с DMA?
  • Можно ли использовать частичное обновление экрана, меньшие буферы рисования или сжатие вместо большого полного кадрового буфера?
  • Что происходит, когда одновременно обновляется дисплей, передаётся Bluetooth-аудио и работает приложение?
  • Соответствуют ли режимы ожидания или сна выбранной PSRAM требованиям к сохранности данных и времени работы от аккумулятора?

Измеряйте время кадра, нехватку данных в буферах, простои CPU, ток и восстановление после ошибок. Не оценивайте производительность системы только по ёмкости PSRAM или разрядности интерфейса.

Half-Sleep для поддерживаемых PSRAM AP Memory

Некоторые микросхемы PSRAM от AP Memory поддерживают режим Half-Sleep — состояние сверхнизкого энергопотребления с сохранением данных. Он полезен, когда большой буфер должен оставаться действительным во время паузы в работе PSRAM, а изделие не может позволить себе каждый раз заново загружать буфер из флеш-памяти или пересчитывать его после простоя.

Half-Sleep — это режим питания конкретного устройства, а не универсальная функция PSRAM. Например, он описан в даташите PSRAM AP Memory APS6408L-OBMx DDR OPI Xccela. Время входа в режим и выхода из него, код настройки регистра режима, допустимые режимы тактирования, ток, температурные пределы и гарантии сохранения данных нельзя переносить на другие семейства и ревизии PSRAM. Сверьтесь с даташитом конкретной микросхемы и проверьте поддержку со стороны SDK для установленного компонента.

Относительная экономия энергии

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

Для одного и того же компонента APS6408L-OBMx с сохранением всей матрицы памяти AP Memory приводит следующие типичные средние токи в стандартном режиме ожидания и Half-Sleep. При одинаковом напряжении питания относительное снижение тока соответствует такому же относительному снижению мощности PSRAM.

Таблица: экономия в Half-Sleep на APS6408L-OBMx с сохранением всей матрицы
Температура Ток в стандартном режиме ожидания Ток в Half-Sleep Относительное снижение
25 °C 66 µA 20 µA около 70%
85 °C 190 µA 120 µA около 37%

При 25 °C Half-Sleep потребляет примерно 30% тока стандартного режима ожидания этого компонента, сохраняя всю матрицу памяти. При 85 °C экономия меньше, поскольку ток удержания данных растёт с температурой. Здесь сравниваются два режима простоя/удержания данных, а не Half-Sleep с активным чтением или записью. Это типовые значения, а не проектная гарантия. Настройки частичного обновления матрицы могут ещё снизить ток, но при этом могут сохраняться не все области памяти. Используйте их только в том случае, если это допускает политика сохранения данных.

Правила проектирования для Half-Sleep

Не путайте 150 ms для гарантии тока с минимальной длительностью Half-Sleep 150 µs и временем выхода 150 µs, указанными в таблице 30 этой ревизии. Даже при малом среднем токе возможны пики во время обновления памяти: проверьте реакцию стабилизатора и развязывающих конденсаторов. В отличие от Half-Sleep, Deep Power Down теряет содержимое памяти и при выходе возвращает регистры режима к значениям по умолчанию.

Примечания к таблицам тока в даташите относятся к микросхеме ёмкостью 64 Mb без переключения тактового сигнала; значения при 25 °C для медленного обновления требуют включения Slow Refresh Frequency. Для VDD и VDDQ указан диапазон 1,62–1,98 V. Заданный ток Half-Sleep гарантируется только после 150 ms в этом режиме, но типовые значения таблицы от этого не становятся гарантированными пределами. Для более коротких интервалов простоя измеряйте весь профиль тока при входе, удержании данных и выходе, а не используйте установившийся ток для всего интервала.

  • Переходите в Half-Sleep только после того, как все клиенты — CPU, DMA, дисплей, аудио, беспроводная связь и хранилище — перестали обращаться к области PSRAM. Передача данных при входе в режим или во время сна может нарушить транзакцию либо неожиданно разбудить устройство.
  • Учитывайте время выхода из режима как запланированные затраты на пробуждение. Прежде чем код, DMA или контроллер периферии снова обратится к PSRAM, прошивка должна выждать предусмотренное спецификацией время выхода.
  • Подавайте на PSRAM питание и сигналы, необходимые выбранной микросхеме для сохранения данных, в пределах её спецификации. Half-Sleep удерживает данные только при соблюдении документированных условий питания и не заменяет энергонезависимую память.
  • Измеряйте состояние системы целиком, а не только ток PSRAM. Экономия может исчезнуть, если CPU, дисплей, тактовый сигнал интерфейса или другая подсистема остаются активными.

На коротких паузах затраты на вход в режим и выход из него могут превысить экономию. Во время длительного простоя Half-Sleep позволяет сохранить кадровый буфер, декодированный ресурс или буфер модели и не тратить энергию на повторную загрузку или восстановление данных. Измерьте на целевой плате энергию в активном состоянии, Half-Sleep и при пробуждении, чтобы определить, насколько долгой должна быть пауза для получения чистой экономии энергии.

PSRAM в проектах SF32

Конфигурация памяти SF32 зависит от SKU, корпуса и модуля. В документации модулей SiFli перечислены варианты OPI-PSRAM и HPI-PSRAM для модулей семейства SF32LB5x; там также показано, что ёмкость и топология зависят от кода модуля. В некоторых вариантах PSRAM установлена в одном корпусе с процессором, а в других изделиях выведен интерфейс внешней памяти. Само название семейства SF32 или наличие интерфейса внешней памяти не означает, что PSRAM установлена во всех вариантах.

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

  • Графика: используйте PSRAM для крупных кадровых буферов, буферов рисования, изображений или шрифтов, если SRAM недостаточно. В обзоре графики описан путь от формирования изображения до дисплея и влияние ограничений пропускной способности PSRAM.
  • Аудио и Bluetooth: используйте её для больших очередей или ресурсов только после проверки одновременного трафика; чувствительные к задержке структуры управления следует оставлять в подходящей памяти с малой задержкой.
  • ИИ: при необходимости храните в PSRAM крупные веса модели или тензоры, а часто используемые и критичные по задержке буферы размещайте в области памяти, лучше подходящей для этой нагрузки согласно документации.
  • Сжатие: eZip позволяет уменьшить размер хранимых ресурсов и трафик до декодирования. На поддерживаемых устройствах SF32LB55x, SF32LB56x и SF32LB58x TurboPixel при фиксированном коэффициенте сжатия с потерями уменьшает объём PSRAM, необходимый для итогового кадрового буфера, и снижает требования к пропускной способности; это не формат хранения ресурсов.

Практические правила выбора

Выбирайте PSRAM, когда нужно увеличить ёмкость, а нагрузка допускает задержку и ограничения пропускной способности выбранного пути памяти. Если важны предсказуемая задержка, частые небольшие случайные обращения или критичный по времени тракт DMA/управления, лучше отдать предпочтение большему объёму внутренней SRAM или пересмотреть схему буферизации. Для данных, которые должны сохраняться после отключения питания, используйте энергонезависимую память. Применяйте RRAM или MRAM, только если документация конкретного SoC или компонента памяти подтверждает их наличие и рабочие ограничения.

Наиболее надёжная архитектура осознанно использует несколько уровней: энергонезависимое хранилище для данных, которые нужно сохранить, PSRAM для больших активных данных и SRAM для задач, которые необходимо выполнять быстро и предсказуемо.

Последнее обновление: