2017-08-31 83 views
-1

在嵌入式微控制器(如STM32/ESP/ARM)中,如果外部闪存上的I/O较高,那么是否存在劣化问题?大量的读/写操作是否会损坏闪光灯本身?

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

假设每隔30秒我要写一个int例如我整天都这样做,闪光灯迟早会死吗?

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

+1

只需阅读设备上的规格。简短的回答是你会穿出来的。几天或几周或几个月?必须阅读规格... –

+1

解决方法是使用ram,它不会像这样磨损,在电源关闭之前,您将状态保存到闪存中。你的系统设计是这样的,你有足够的储备电力(大容量电池,电池等),以便在检测到设备断电后保存到闪存/ eeprom /任何其他设备。 –

+1

另一种选择是电池供电,就像我们的个人电脑一样。 –

回答

1

是的,正如评论者评论的那样,它最终会失败。在数据表中查看通常称为“耐力”的规范。常见的片上NAND闪存耐久性限制范围从10,000次写入到100,000次写入,有时甚至更高,但唯一重要的数字是特定部分数据表中的数字。一旦你知道了耐力,你可以想出一个设计,根据写入大小,频率,可能的压缩率,RAM缓存等预测一个合理的生命周期。

+0

不要回答明显的题外话题。这将禁止roomba并需要手动删除。改为关闭! – Olaf

1

说每30秒我要写一个int例如,我这样做>一整天来,闪光灯迟早会死?

查找数据表中的写周期数,并进行数学运算。假设你的部件可以承受1000000次写周期,那么每30秒写一次写就会在3000万秒内耗尽。一年约为3150万秒...

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

一些FRAM (Ferroelectric RAM)可支持多达10 读/写周期。即使您每秒钟访问它,它也将持续31689年。请注意,读取数也会计数,但这不会成为问题,除非您的设备断电并且必须每秒启动一次。

什么是解决方法?

磨损平衡,这是SD卡和SSD驱动器中的控制器所做的。但是你需要一个不成比例的大闪光灯来为少数柜台做这件事。

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

+0

不要回答明显的题外话题。这将禁止roomba并需要手动删除。改为关闭! – Olaf