作者:Nilesh Badodekar,赛普拉斯
几十年来,远程控制节点的基本架构一直由控制器、传感器、本地存储器、网络连接接口和电池组成。这种架构广泛应用于实际操作控制的系统中。在工业自动化系统中,控制器以不同的速率监控多个传感器,将带时间戳的传感器数据保存在本地或扩展存储器中,然后通过ProfiBus等行业标准总线传输数据。在高级驾驶员辅助系统(ADAS) 或车辆事件记录器(EDR) 中,多个MCU 可以同时收集和控制来自汽车电子系统的数据,从而提供高质量的驾驶体验和无故障的数据保护。医疗系统也有类似的应用:通过传感器获得的关键患者数据将存储在本地或定期上传以进行集中存储。
这些系统试图解决数据采集、关键数据存储以及根据数据分析采取相应行动过程中的核心和基础问题。然而,不同的系统在解决问题时有不同的优先级。工业系统往往会在很短的时间内从许多不同的传感器收集大量数据,并且必须在本地和远程维护详细的日志记录。汽车系统生成数据的速度较低,但数据的重要性很高。在某些情况下,数据丢失可能会威胁司机和乘客的生命。大多数汽车的使用寿命都在十年以上,因此在选择内存时,其使用寿命和可靠性成为非常重要的考虑因素。便携式医疗系统在选择理想的数据存储时注重功耗。由于植入式医疗设备、助听器等设备均采用电池供电,因此更倾向于选择能耗低、数据存储精度高的存储器。兼具长期可靠性和低能耗的无故障数据存储往往成为系统设计人员在选择存储产品时面临的主要挑战。
随着物联网的逐渐兴起,所有设备都开始通过网络互联。保守估计,2020年将有100亿台设备接入互联网,其中包括汽车、工业自动化设备、植入式医疗设备、可穿戴设备、智能家居等新一代产品。下一代5G网络已开始在部分地区部署,预计将承担上述设备产生的大部分流量。然而,数据科学家和系统设计师仍然有几个未解决的问题:
哪些设备需要接入云端?需要传播多少信息?本地可以处理多少信息?谁来为云付费?
一种解决方案是将所有信息上传到云端并远程处理信息。但该解决方案仅适用于小型且分散的系统。随着世界变得更加互联,将会出现大量甚至过剩的信息上传系统。在这种情况下,我们需要考虑网络和本地存储和处理的成本差异。在驾驶过程中,自动驾驶汽车每小时会产生数千兆字节的数据。因此,为了预测未来的需求,我们现在必须决定哪些信息需要实时传送,哪些信息可以本地存储,以便以后可以压缩传送。工业和医疗领域的系统设计人员面临着同样的问题。在“工业4.0”的进程中,“所有数据上传云端”的方式正在逐渐转变为“本地处理、智能上传”的方式。因此,如何选择最佳的本地数据存储对于未来的系统开发极为重要。
为了保存重要数据,这些系统需要高可靠、低能耗、高安全性的存储器。一种方法是使用现有的闪存来记录数据。闪存技术由于其高效读取的能力而被广泛用于启动代码和固件的存储。对于现有系统的设备,设计人员可以在执行写入操作的同时使用闪存来记录数据,而无需了解闪存的技术限制。闪存单元只有在事先被擦除的情况下才能存储新数据。当闪存单元被编程时,逻辑值从“1”变为“0”。在下次升级时,如果存储单元需要保持逻辑值“1”,则需要擦除数据。为了加快擦除速度并减少编程时间,闪存制造商设计了各种页、块和扇区架构。页是可以一次编程到闪存中的最小数据存储单位。闪存设备具有用于临时数据存储的内部页面大小缓冲区。当外部接口的数据传输完成后,器件将立即对主阵列中已擦除的页执行页编程。如果该页包含旧数据,则必须在程序启动之前将其擦除。每次执行擦除时闪存单元都会退化。这种现象通常被量化为闪存的耐用性指标。最耐用的闪存器件通常可以承受100,000 次擦除编程周期。达到这个限度后,存储稳定性就无法保证。虽然这个数字可能看起来很大,但即使是低端数据记录系统也难以满足这个数字。
一些制造商使用字节编程并将编程从缓冲区推送到闪存。虽然这种设计简化了设备内的运行程序,但它并没有使闪存摆脱潜在的耐用性限制。为了克服上述限制,系统设计人员被迫实现复杂的文件系统,以确保闪存单元的磨损均衡。文件系统软件可能会降低系统速度。
考虑设计人员考虑使用基于闪存的存储器来记录数据的情况。在工业自动化和资产管理系统中,传感器节点每秒多次捕获数据,定期对各种传感器进行采样,然后组织数据包上传到网络。一般来说,一个数据包中的样本数量范围为16字节到128字节。由于断电风险无法完全避免,为了防止数据丢失,设计者使用非易失性存储器来存储数据。振动传感器或步进电机位置传感器每隔几毫秒发送一次数据脉冲,温度或湿度传感器每隔几秒发送一次数据,数据包存储来自许多传感器的数据。
下表给出了数据包容量和采样率的对比分析,以及数据记录过程中闪存消耗的规律。使用100,000 次耐久性循环对8 MB 闪存进行分析
下图对该数据进行了清晰的解释。我们发现,对于每1 毫秒记录8-16 字节数据的低端系统,8 MB 闪存将在5 年内磨损。然而,汽车或工业系统的磨损期应超过10 年。
F-RAM 空间传统NV 存储器
如果采用简单添加闪存的低成本、高风险的方法,则需要复杂的文件系统来管理磨损均衡。如果没有部署文件系统,系统在更换整个内存后需要定期执行芯片擦除周期。在当今的物联网世界中,随着数据收集终端的不断激增,这个问题变得越来越严重。基于闪存的存储器非常适合存储在产品生命周期内写入次数不能超过1,000 次的启动代码和固件程序。此数据记录问题的理想解决方案是使用高耐用性非易失性存储器,这些存储器不会因编程和擦除延迟而带来数据风险。 F-RAM 具有承受高达1014 个擦除周期的耐用性,瞬时非易失性,无需编程和擦除操作,并实时存储进入设备接口的所有数据。例如,4 MB F-RAM 存储每10 微秒可以处理128 字节的数据流,并且不会磨损超过1,000 年。
F-RAM 存储单元仅在写入或读取时消耗功率,待机功耗仅为几微安,这使得F-RAM 成为那些依赖电池供电的产品的最佳解决方案。 F-RAM适用于能耗要求较高的助听器和心率采样的高端可穿戴医疗设备。此外,来自汽车系统的数据会持续记录到内存中,而基于闪存的系统无法在闪存“编程”期间捕获数据。只有基于F-RAM的数据存储才能为该系统提供高可靠性。
F-RAM 具有近乎无限的耐用性、超低功耗和瞬时非易失性,非常适合互联世界中的关键数据存储。