我这里摘取使用的是STM32L4的Flash模拟EEPROM Endurance探讨.
在计算可靠度的时候,我们以每笔资料的平均可靠擦写次数做为评估基准,为了满足EEPROM的Endurance,每笔资料的平均可靠擦写次数都需要在1KK以上,因为真的EEPROM就是1KK寿命,而每笔资料的平均可靠擦写次数公式可推导为如下:
S是扇区大小,C是标记符大小字节数,D是需要模拟的EEPROM大小位数,P是使用来模拟的页数,一般为2,E是默认Flash可靠擦写次数.其中AT24C02就是2048Bit了.下面列表计算.最低容量也有AT24C01的1024Bit.但是可能用不到那么多,我从256Bit开始算.值得注意的是,D这个参数,并不是所有都是用来存资料的,实际上只有1/4可用来存资料.前面是用来存地址的.前面是用来存放地址和为了对齐所牺牲的空间.所以D应该拆开讨论,他为每笔资料占用长度M*资料数N.
当N = 1时候存16Bit,1024Bit就有64个N.通过计算,当模拟AT24C04时候,20K的Endurance,远远不合格,如果只存128Bit,也就是16字节资料时候,可以达到比真EEPROM还好的能力.
如果可靠次数提升到外置NOR的水平呢?就是100K.那么磨损到AT24C01的水平(128字节储存)也能达到真EEPROM还好一点的水平.
如果不但用外置Flash,还用大Page管理,就是64K Page,那么就耐久了.当AT24C04用都有12KK寿命.
直接等效AT24C32啊.当然,最高都只是3*10^9,比FRAM的10^12低不知道多少了.
我听我一做汽车电子的朋友说,他们用EEPROM记录里程,8个区轮流写,写完满足跑10年.也就是要求8KK.而他们记录里程,按理AT24C02都够了,这里显示25KK.完全靠谱.