灵活更新固件——IoT设备的关键

2019-09-12来源: EEWORLD作者: 存储器产品部 主任应用工程师 Hardik Patel关键字:IoT设备

物联网(IoT)设备正迅速引入各大市场,从家用电器到医疗设备、再到汽车,应用范围十分广泛;制造商必须通过不断创新和灵活地采用或集成新技术来领先于竞争对手。为了满足新功能的需求和新法规的要求,设计人员必须将灵活性纳入其产品中,以适应不断发展的IoT生态系统。固件更新不仅能够在客户现场的初始部署期间进行定制,还可以在产品部署到现场后添加新功能/特性,并且支持在使用过程中修复任何固件问题。NOR闪存等非易失性存储器件具有可重复编程能力且可靠性极高,通常可用作固件代码存储介质。通过重新编写器件固件代码(位于器件使用的非易失性存储器中)的一部分,制造商可轻松更新器件功能。想要更新固件时,有三件事情需要考虑:更新哪些/多少代码、更新频率以及执行更新所需的时间(速度)。

 

更新哪些/多少固件代码

 

在IoT设备的初始设计阶段,必须考虑更新哪些/多少固件代码。相对于不可更新部分,固件的可更新部分必须存储在NOR闪存器件的独立区域中。更新NOR闪存的任何片段都需要先擦除存储器的这一部分,然后将新信息编程到该部分中。NOR闪存分为称为扇区和块的多个部分,它们的大小各有不同。NOR闪存器件(如采用SST SuperFlash®技术的器件(部件编号SST26VF064B(64 Mb)))分为多个均一的4 KB扇区,各个扇区可单独擦除和重新编程(4 KB = 4 * 1024 * 8位 = 32,762位)。它还可分为更大的8 KB、32 KB和64 KB块,这些块也可单独擦除。因此,一个8 KB块有2个扇区,一个32 KB块有8个扇区,一个64 KB块有16个扇区。图1给出了采用8 KB/32 KB/64 KB块的SST26VF064B的存储器构成。各个块也可以单独进行保护。在对闪存的任何部分执行任何更新前,必须取消保护该部分中的块,以允许擦除和编程操作。完成更新后,谨慎地再次对这些块进行保护,以避免意外写入或擦除这些区域。固件的可更新部分必须以足够灵活的方式划分为扇区和块,以便同时支持有限数量和最大数量的特性/功能更新。由于执行更新的速度由需要擦除和重新编程的扇区和块数决定,因此在组织固件的可更新部分时,最好同时考虑速度和灵活性。图2给出了将存储器组织为可更新和不可更新部分的示例。引导代码等不可更新部分存储在受保护区域中。固件的可更新部分(如特性/功能)根据灵活性要求分为较小的块或较大的块。可更新的镜像文件存储在较大的块中,可更新的变量/参数存储在较小的块中。

 


image.png


图1:SST26VF064B的存储器构成(映射)——由8个8 KB块、2个32 KB块和126个64 KB块组成

 

 

image.png

 

更新频率

 

固件更新频率的主要限制是应用中所使用存储器的耐擦写次数限制。SuperFlash技术存储器(如SST26VF064B)的耐擦写次数可达100,000次,这意味着每个扇区可编程和擦除100,000次。固件可以更新100,000次听起来很多;然而,许多IoT设备会在使用期间收集数据并将信息存储在NOR闪存中,因此在计算最大耐擦写次数限制时必须考虑这一点。考虑到耐擦写次数,必须在存储器中分配足够多的扇区。下面将举例说明:假设IoT设备正在收集和存储16个字节的信息,并且信息预计在产品的使用寿命期间收集和存储1亿次。可以按如下方式计算应当分配的扇区数:

 

1个扇区 = 4 KB

 

假设扇区中的所有地址单元用于存储信息(一次存储16个字节的数据),然后写入到一个新的地址单元,直至达到扇区末尾(例如,0x0000-0x000F、0x0010-0x001F、0x0020-0x002F等)

 

由于4 KB/16字节 = 256,这即是达到扇区容量并擦除扇区中任何数据之前可以写入存储介质的次数

 

1个扇区的耐擦写限值 = 100,000次

因此,如果1个扇区可以写入256次且耐擦写次数为100,000次,则可以收集和存储数据2560万次

 

如果一个应用需要收集和存储数据1亿次,则要分配的扇区数量为100,000,000/25,600,000 = 3.9。因此,在本例中,需要分配4个扇区以在应用的生命周期内存储16个字节的数据。

IoT设备工程师需要进行类似的计算,以便为数据记录参数分配足够多的扇区和块,以免超出其NOR闪存器件的耐擦写限值。

 

更新速度

 

可根据需要擦除和重新编程的块和扇区数来计算更新速度。假设需要重新编程SST26VF064B的几个64 KB块中存储的1 Mb、2 Mb或4 Mb固件代码/数据。代码/数据可以由固件代码、镜像文件或需要更新的其他代码组成。更新过程涉及对闪存执行一系列命令指令。序列将从取消保护存储器块开始,然后擦除这些块、用更新的数据/代码进行编程,最后重新进行保护。对于SST26VF064B,更新1 Mb/2 Mb/4 Mb存储器所需的指令序列如表1所示。从表1中可以看出,两个最重要的时间是擦除时间和编程时间。SST26VF064B采用可提供出色擦除性能的SuperFlash技术。SuperFlash技术与传统闪存的擦除和编程性能的比较如表2所示。与传统闪存相比,SuperFlash技术提供的优异擦除性能对于缩短更新时间非常有用。SST26VF064B支持的最大时钟频率为104 MHz,最大扇区擦除时间为25 ms,最大块擦除时间为25 ms,最大页编程时间为1.5 ms。此外,从发出每条命令指令到闪存以104 MHz时钟频率工作,中间还需要12 ns延时(CE高电平时间)。表1所示的命令序列与编程和擦除时间的知识结合使用时,可计算更新1 Mb/2 Mb/4 Mb SuperFlash技术存储器和传统闪存所需的时间,具体方法分别如表3和表4所示。这些计算必须由IoT设备工程师完成以估算执行更新的速度,目的是最大程度缩短更新期间的IoT设备停机时间。

 

 

image.png

表1:更新1 Mb/2 Mb/4 Mb存储器的闪存命令指令序列

 

 


SST26VF064B

传统闪存

扇区擦除

25 ms(最长)

150 ms至3000 ms

块擦除

25 ms(最长)

750 ms至3s

芯片擦除

50 ms(最长)

15s至80s

页编程

1.5 ms(最长)

1 ms至5 ms

表2:SST26VF064B和传统闪存的编程和擦除时间


image.png

 



image.png

 

结论

 

IoT设备设计工程师需要在更新应用程序代码和数据时提供一定的灵活性。更新哪些/多少代码、更新频率和更新速度是设计IoT设备时需要解决的问题。非易失性存储器的选择会影响这些问题,并在计算代码更新的时间和速度方面起到关键作用。

 

关键字:IoT设备 编辑:muyan 引用地址:http://news.eeworld.com.cn/IoT/ic474411.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:英伟达全球副总裁潘迪:AI渗透率不足,进入企业是关键
下一篇:英特尔携手合作伙伴,为东京奥运会带来世界级创新技术

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

10倍提升 莱迪思sensAI2.0助力网络边缘低功耗、智能IoT设备
“过去一年对于莱迪思、客户和整个业界来讲,AI和机器学习都是长足的学习过程。在sensAI 2.0中大家可以看到,最关键的就是10倍性能提升。”莱迪思半导体亚太区业务发展(BD)总监陈英仁先生,在发布会上对sensAI 2.0进行了详细的讲解。低功耗多样性引领IoT领域莱迪思sensAI的方案,主要应用在智能家居、门铃和安防摄像机、工业以及零售商店摄像头等用于人员检测的场景当中。这些主要的应用场景,都是在网络边缘、终端。根据Tractica统计网络边缘AI设备的出货量预计将在2025年达到每年25亿台。FPGA在少量多样的IoT领域优势明显。因为IoT是非常碎片化的市场。在各种不同的应用场景,一个方案不可能解决所有的问题,所以需要
发表于 2019-05-24
10倍提升 莱迪思sensAI2.0助力网络边缘低功耗、智能IoT设备
莱迪思新版sensAI助力网络边缘低功耗、智能IoT设备
计实时在线的网络边缘设备时希望能够最大程度减少传输到云端进行分析的数据量。莱迪思sensAI的低功耗AI推理功能可针对OEM的应用要求进行优化,能帮助他们无缝更新现有设计。使用本地智能处理能够降低使用云端分析带来的成本,因为只需要发送相关信息做进一步处理即可。 莱迪思半导体公司市场和解决方案营销高级总监Deepak Boppana表示:“我们开发sensAI是为了满足网络边缘AI设备日益增长的需求,市场对我们的方案反响强烈,我们也备受鼓舞。sensAI已经收获了多个行业奖项,除此之外,我们很高兴看到其合作伙伴生态系统日益壮大,同时越来越多的客户采用sensAI开发低功耗的解决方案,用于智能门铃和安全摄像头等实时在线的IoT设备
发表于 2019-05-21
专访华为何刚:健康是未来5G与IOT设备的重要一环
。  以目前的手表为例,华为很快会上线关于表盘的商店。同时还会与更多第三方合作方进行表带的制作。  扩大到健康监控,华为未来也有可能会根据技术和数据来尝试去检测:血氧、血糖、血压数据等数据。  健康之外,华为还会推出一些有关运动,和入门门槛更低的功能。譬如华为有一款智能绑带,佩戴在鞋上会把鞋子变为智能鞋子。除了健康数据,还能给篮球技术提供教学建议。  IOT毫无疑问是未来5G发展的方向,而在本次发布会与采访的分配来看,健康是近段时间华为更强调的。这也与其多年在智能可穿戴设备的深挖有关。
发表于 2019-04-11
专访华为何刚:健康是未来5G与IOT设备的重要一环
芯科科技发布Z-Wave 700系列,助力电池供电型IoT设备发展
- 全新智能家居平台助力电池供电型IoT设备发展 - Silicon Labs(亦称“芯科科技”)日前在Wireless Gecko平台上发布了新一代Z-Wave® 700系列,该平台是业界最全面的物联网(IoT)硬件和软件连接解决方案。继2018年4月Silicon Labs战略性收购Z-Wave技术之后,Z-Wave 700系列再次展现了Silicon Labs的愿景和平台集成路线图。全新智能家居平台基于Z-Wave业界领先的S2安全性和互操作性,提升了能效、增强了性能、延长了射频覆盖距离。凭借Wireless Gecko平台,Z-Wave 700使得开发人员能够以更低的成本和更快的上市
发表于 2018-12-13
芯科科技发布Z-Wave 700系列,助力电池供电型IoT设备发展
模块化平台让IoT设备实现高能效
作者:安森美半导体IoT策略Pavan Mulabagal 前言物联网(IoT)的部署正在获得实质的动力,感测方面新的技术进展和新兴的通信协议将有助于推动IoT的发展。IoT的多学科特性需要一系列广泛的能力,资源或经验有限的组织在将设备连接到云方面可能会遇到挑战。当涉及到确保在不同的垂直市场更快地采用IoT,电池使用寿命或设备独立性是另一个挑战。 在网络边缘进行数据采集和/或执行活动的IoT节点通常是电池供电的。频繁更换电池的不切实际和维护成本是开启许多物联网应用的障碍。部署在远程位置的节点进一步加剧了这一问题。 对于物联网的潜在用户和方案提供商,掌握提供高能效工作的互连技术如蓝牙低功耗(BLE
发表于 2018-09-25
模块化平台让IoT设备实现高能效
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved