Arm 大量读/写会使闪存本身恶化吗?

Arm 大量读/写会使闪存本身恶化吗?,arm,embedded,stm32,flash-memory,Arm,Embedded,Stm32,Flash Memory,在STM32/ESP/ARM等嵌入式微控制器上,如果外部闪存上存在高I/O,通常是否存在劣化问题 我说的是著名的4Mb/8Mb/16Mb QSPI闪存,通常代码也驻留在其中 比如说,每30秒我要写一个int,我整天都在写,那么闪存迟早会死掉吗 在这种情况下,对于能够承受高IO的嵌入式系统,什么是最好的硬件?解决办法是什么 是的,正如评论者所评论的,它最终会失败。在数据表中查找通常称为“耐久性”的规范。常见的片上NAND闪存耐久性限制范围从10000次写入到100000次写入,有时甚至更高,但唯一

在STM32/ESP/ARM等嵌入式微控制器上,如果外部闪存上存在高I/O,通常是否存在劣化问题

我说的是著名的4Mb/8Mb/16Mb QSPI闪存,通常代码也驻留在其中

比如说,每30秒我要写一个int,我整天都在写,那么闪存迟早会死掉吗


在这种情况下,对于能够承受高IO的嵌入式系统,什么是最好的硬件?解决办法是什么

是的,正如评论者所评论的,它最终会失败。在数据表中查找通常称为“耐久性”的规范。常见的片上NAND闪存耐久性限制范围从10000次写入到100000次写入,有时甚至更高,但唯一重要的数字是特定零件数据表中的数字。一旦您了解了耐久性,您就可以根据写入大小、频率、可能的压缩、RAM缓存等,提出一种预测合理寿命的设计。

是的,正如评论者所评论的,它最终将失败。在数据表中查找通常称为“耐久性”的规范。常见的片上NAND闪存耐久性限制范围从10000次写入到100000次写入,有时甚至更高,但唯一重要的数字是特定零件数据表中的数字。一旦您了解了耐久性,您就可以根据写大小、频率、可能的压缩、RAM缓存等,提出一种预测合理寿命的设计

比如说,每30秒我要写一个int,我整天都这么做>,闪存迟早会死掉吗

在数据表中查找写入周期数,然后进行计算。假设您的部件可以承受1000000个写入周期,那么每30秒写入一次将在3000万秒后开始磨损。一年大约是3150万秒

在这种情况下,对于能够承受>高IO的嵌入式系统,什么是最好的硬件

有些可以支持多达1012个读/写周期。它将持续31689年,即使你每秒钟都在访问它。请注意,读取也会计数,但这不会是一个问题,除非您的设备失去电源,必须在每秒钟启动

解决办法是什么

磨损均衡,这就是SD卡和SSD驱动器中的控制器所做的。但是你需要一个超大的闪光灯来为一些计数器实现这一点

一些微控制器有少量备用RAM,可通过电池或超级电容通过单独的Vbat引脚供电。别忘了每隔几年更换一次电池。不过,以电池和插座的价格,你会得到一个FRAM

比如说,每30秒我要写一个int,我整天都这么做>,闪存迟早会死掉吗

在数据表中查找写入周期数,然后进行计算。假设您的部件可以承受1000000个写入周期,那么每30秒写入一次将在3000万秒后开始磨损。一年大约是3150万秒

在这种情况下,对于能够承受>高IO的嵌入式系统,什么是最好的硬件

有些可以支持多达1012个读/写周期。它将持续31689年,即使你每秒钟都在访问它。请注意,读取也会计数,但这不会是一个问题,除非您的设备失去电源,必须在每秒钟启动

解决办法是什么

磨损均衡,这就是SD卡和SSD驱动器中的控制器所做的。但是你需要一个超大的闪光灯来为一些计数器实现这一点


一些微控制器有少量备用RAM,可通过电池或超级电容通过单独的Vbat引脚供电。别忘了每隔几年更换一次电池。电池和插座的价格可以买到FRAM。

只要看看设备上的规格就可以了。简短回答是的,你会把它磨坏的。几天、几周或几个月?必须阅读规范…解决方法是使用ram,它不会像那样磨损,在电源关闭之前,然后将状态保存到闪存。您的系统设计是这样的,即在检测到设备断电后,您有足够的备用电源(大容量、电池等),以便保存到闪存/eeprom/任何东西。另一种选择是电池供电,就像我们的PC使用的一样。您必须小心使用外部spi闪存运行代码(甚至不确定您是如何做到这一点的,请注意arm是一个核心/IP而不是微控制器)您可能会遇到读取干扰问题。微控制器中的内存没有这些问题(否则产品将出现故障,并且会很快从产品卡中删除)。很简单,二极管和电容就可以了。电容是你的备用电源,二极管可以保护电源不被切断,从而允许电流进入。你把感应线放在二极管的电源侧(连接到gpio引脚),当它消失时,封盖保持零件的活动状态,但gpio引脚改变状态,中断该设计所有这些,以便您知道最坏情况下对闪存的写入时间,并有足够的电容来保持较长的正余量。还有更复杂的方法。只需阅读设备上的规格。简短回答是,您将磨损它。几天或几天数周或数月?必须阅读规格…解决方法是使用ram,它不会像那样磨损,在电源关闭之前,您将状态保存到闪存。您的系统设计是这样的,您有足够的备用电源(大容量、电池等)为了在检测到设备断电后生存下来,可以保存到闪存/eeprom/什么的。另一种选择是电池供电,就像我们的PC使用的那样。您必须小心使用外部spi闪存运行代码(不确定您是如何做到的,请注意arm是核心/IP而不是微控制器),您可能会遇到读取干扰问题