0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为您的嵌入式应用选择最佳的闪存器件

星星科技指导员 来源:嵌入式计算设计 作者:Gideon Intrater 2022-10-24 11:48 次阅读

协议和存储器设计的最新进展使得能够以原位制动 (XiP) 方式直接从片外非易失性存储器 (NVM) 设备运行固件。

当今的大多数嵌入式系统都依赖于片上闪存或SRAM来存储程序存储器(固件)。然而,这些存储器在成本和功耗方面通常很昂贵,并且还将程序大小限制在片上实现的存储器量。协议和存储器设计的最新进展使得能够以原位制动 (XiP) 方式直接从片外非易失性存储器 (NVM) 器件运行固件,这种方法可能会缓解上述挑战。

本文将介绍用于嵌入固件的传统解决方案的优缺点。接下来将深入讨论XiP解决方案,并总结有关如何选择最佳XiP架构的建议。

嵌入式闪存长期以来一直是微控制器MCU)的中流砥柱。这些 MCU 通过一个或多个存储固件和其他常量的 NVM 阵列来增强片上易失性存储器阵列。实现这一目标需要通过大量额外的制造步骤,使用NVM单元增强基本的CMOS工艺。过去,添加这些制造步骤的成本很小,但随着CMOS技术的进步,将标准CMOS工艺转变为支持NVM的工艺变得越来越复杂和昂贵。事实上,虽然当今批量生产中最先进的CMOS工艺低于10nm,但带有嵌入式闪存的CMOS在40nm方面落后于几代人。

结果是,虽然MCU供应商可以使用更快,更便宜且需要更低功率的工艺技术构建产品,但使用嵌入式NVM可以防止他们这样做。即使他们选择支持嵌入式NVM的老一代产品,支持闪存的工艺与不支持闪存的工艺之间的价格差距也可能超过40%。此外,将特定的 NVM 大小提交到 MCU 中可能适用于一个应用程序,但对于另一个应用程序来说,这可能是错误的容量。

尽管面临所有这些挑战,嵌入式NVM将在很长一段时间内成为MCU的中流砥柱。对于可以在不太先进的CMOS工艺中实现的较小设计,使用嵌入式闪存将是最有效的解决方案。但性能更高、功耗更低的MCU需要替代解决方案。

使用嵌入式闪存的另一种方法是由外部串行闪存设备支持的片上SRAM阵列。启动时,外部闪存的内容被复制到片上SRAM,然后MCU开始从SRAM执行。该解决方案的最大优点是SRAM可以在最先进的CMOS工艺下制造,而无需修改工艺。但是,该解决方案需要固件的两个副本 - 一个在外部闪存中,另一个在SRAM中。即使在高级工艺节点中,大型片上SRAM阵列也相当昂贵。而且,由于SRAM泄漏电流,因此当系统处于关断模式时,它们需要关闭,每次MCU唤醒时都需要重复耗电且耗时的复制操作。最后,与嵌入式闪存的情况一样,特定MCU中SRAM的大小是固定的,对于特定应用的需要,它可能太大或太小。

MCU供应商正在寻找新的内存架构,以满足新兴智能物联网边缘设备的性能和功耗要求。XIP的使用正在成为高性能、低功耗系统的首选解决方案。借助 XiP,MCU 可以采用标准 CMOS 工艺技术实现,而只有外部闪存阵列需要特殊的 NVM 工艺。MCU通过一个指令缓存进行了增强,该缓存保存了常用的代码段。每当处理器在高速缓存中找不到所需的指令(高速缓存未命中)时,MCU就会启动对外部闪存的访问,以将缺少的指令存储在高速缓存中。随着新的 JEDEC xSPI 协议 (JESD 251) 的引入,闪存的接口可能高达 200MHz,具有双数据速率 (DDR) 中的 8 位宽数据路径切换。

最近,恩智浦和意法半导体都推出了MCU,可以使用外部闪存进行原位扫描(XiP)操作。意法半导体的STM32L4+和STM32L5分别是基于Arm Cortex-M4和M33内核的中档MCU,而高端恩智浦 i.MX RT1050和RT10xx系列的其他成员则实现了600MHZ双问题Cortex-M7和32KB指令缓存。恩智浦还通过其基于中档M4的Kinetis K8x产品和最近推出的RT600(基于Arm Cortex-M33的MCU)支持XiP。意法半导体的MCU和Kinetis K8x实现了片上闪存和对XIP支持的组合。RT600 和 RT10xx 产品的设计没有片上闪光灯,使它们能够达到非常激进的价格点。

为原位访问选择外部闪存设备时,首先要问的问题是固件的哪些部分将在 XiP 模式下运行。一些设计人员选择混合方法,将程序的性能关键部分保留在芯片上(在ROM、闪存或SRAM中),并在XiP模式下使用外部闪存来扩展其系统。

与此相关的问题:

全部或部分程序是从片上ROM、闪存还是SRAM执行的?如果是,这些内存类型中有哪些?

全部或部分程序是否会以 XiP 方式直接从外部闪存中执行?

如果(a)的答案是SRAM,则需要在SoC外部使用闪存在引导时加载程序。设计人员可以选择阿德斯托凤凰(标准闪光灯)、融合(针对电池操作优化的闪光灯)或 EcoXiP(针对 XiP 优化的八通道闪光灯)。对于成本敏感且吞吐量不重要的应用程序,应选择 Phoenix。Fusion将适合具有非常严格的功率限制的最佳应用。在这种情况下,只有当客户还需要XiP模式下的高性能或需要八通道闪存设备的吞吐量以实现非常快速的启动或频繁的数据读取操作时,才应考虑Adesto的EcoXiP-就像人工智能推理引擎一样。

假设(b)的答案是肯定的(至少部分固件需要XiP),下一个问题是弄清楚需要多少性能。由于采用了高速八通道 DDR 接口,EcoXiP 可提供大约 4 倍于标准闪存设备的吞吐量。此外,“包装并继续”命令进一步提高了可实现的吞吐量。有许多问题要问:

SoC 是否包含指令缓存?(如果没有指令缓存,XiP性能将非常低,但是EcoXiP相对于四通道设备的优势将更加显着)

CPU 将以什么频率运行,SPI 总线的频率是多少?

在 XiP 中运行时需要什么级别的性能?

设备是否需要现场软件更新(通常称为无线 (OTA) 更新)?

(c)的答案是至关重要的。在低频和对XiP性能的低要求下,直接从标准四通道SPI闪存器件中执行是相当可行的。但是,即使指令缓存中只有很小百分比的未命中,与耗尽 EcoXiP 相比,在 Quad 设备之外执行也能提供大约 50% 的 CPU 性能。

请注意,如果对 (d) 的响应为正,则 EcoXiP 的边写读取功能将使 OTA 更新更加容易,前提是 SoC 是在没有其他代码存储存储器(仅依赖于 XiP)的情况下构建的。还有其他用于OTA更新的解决方案,没有边写边读,但它们都是SRAM密集型的,需要复杂的固件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5062

    文章

    18984

    浏览量

    302379
  • 存储器
    +关注

    关注

    38

    文章

    7443

    浏览量

    163541
  • sram
    +关注

    关注

    6

    文章

    762

    浏览量

    114601
收藏 人收藏

    评论

    相关推荐

    嵌入式系统中的连接器选择

    嵌入式系统中,连接器的选择是一个至关重要的环节,它关系到系统的稳定性、可靠性和数据传输效率。以下是对嵌入式系统中连接器选择的分析: 一、连接器类型 板对板连接器 : 用于
    的头像 发表于 11-07 09:44 139次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入到某种设备或系统中,以实现特定功能的计算
    的头像 发表于 10-16 10:14 427次阅读

    的应用选择最佳的bq2416x器件

    电子发烧友网站提供《的应用选择最佳的bq2416x器件.pdf》资料免费下载
    发表于 10-09 09:33 0次下载
    <b class='flag-5'>为</b><b class='flag-5'>您</b>的应用<b class='flag-5'>选择</b><b class='flag-5'>最佳</b>的bq2416x<b class='flag-5'>器件</b>

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 328次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始
    的头像 发表于 09-02 09:11 357次阅读

    嵌入式系统的外设器件选择

    作者:DigiKey Editor 嵌入式系统除了最重要的处理器选择之外,配合的相关外设器件也是嵌入式系统的重要组成部分,包括内存、时钟(
    的头像 发表于 05-05 09:38 810次阅读
    <b class='flag-5'>嵌入式</b>系统的外设<b class='flag-5'>器件</b><b class='flag-5'>选择</b>

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被
    的头像 发表于 03-15 14:29 1172次阅读

    fpga是嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA在嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2108次阅读

    PSoC™ 6 中嵌入式闪存的正确最低耐久性是多少?

    PSoC™ 6 中嵌入式闪存的正确最低耐久性是多少? PSoC™ 6 的数据表声称闪光灯耐久性至少 100k 次。 TRM 声称续航时间 10k 个周期。 请参阅第 6.5 节 6
    发表于 02-26 06:46

    铠侠正式发布业界首款车载UFS 4.0嵌入式闪存

    存储器解决方案的全球领导者铠侠株式会社宣布,该公司已开始提供业界首款面向车载应用的通用闪存(UFS)4.0版嵌入式闪存设备的样品。
    的头像 发表于 02-22 16:21 938次阅读

    嵌入式学习步骤

    开发。 嵌入式学习步骤总结如下: (1).确定目标平台:选择适合您要开发的嵌入式系统的硬件平台。这取决于您要控制的设备以及需要执行的任务。 (2).
    发表于 02-02 15:24

    Kioxia推出业界首款面向汽车应用的UFS 4.0版嵌入式闪存器件

    全球领先的存储解决方案提供商Kioxia Corporation今天宣布推出[1]业界首款[2]面向汽车应用的通用闪存[3](UFS) 4.0版嵌入式闪存器件样品。这些性能更高的新型
    的头像 发表于 01-31 18:19 529次阅读

    高端嵌入式实验平台

    微处理器、内存芯片组、闪存芯片组和电源管理电路,扩展板则由嵌入式硬件接口、板载功能和扩展功能模块组成。 软件提供嵌入式主流Andriod和Linux双系统软件包,开放的资源满足教学、科研、创新等应用,并提成配套实验教程。 该平台
    的头像 发表于 01-29 09:55 482次阅读
    高端<b class='flag-5'>嵌入式</b>实验平台

    什么是嵌入式系统?嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2353次阅读

    低功耗嵌入式计算解决方案:选择处理器的几个关键因素

    供广泛的处理器产品组合。这些处理器的多样性使原始设备制造商能够评估特定应用和部署的最佳性能。嵌入式计算解决方案选择处理器时,会考虑几个关键因素,以确保合适的CPU
    的头像 发表于 12-04 16:45 478次阅读
    低功耗<b class='flag-5'>嵌入式</b>计算解决方案:<b class='flag-5'>选择</b>处理器的几个关键因素