关于单片机内部自带eeprom寿命极限情况的讨论
本帖最后由 ackyee 于 2014-10-5 22:56 编辑eeprom是有寿命限制的,大概10万次,如果系统用片内eeprom来存储一些操作信息若使用的勤快,几年也是可能达到使用寿命极限。 类似stc 写eeprom的过程中会有20多ms级的系统占用,不知道坏掉的时候是什么情况
1. 写的过程 20多ms 之后系统正常运行, 但读出来的数据不正确,随机或者0x00或者0xff
2. 写的过程如上,顺利 。 读的过程 系统崩溃卡住或者等待
3. 写的过程 系统崩溃卡住
想请教下各路大牛们,是否有过类似的极限测试,或者猜想 医疗就不能用eeprom 考虑铁电存储器 就楼主这个逻辑分析能力还做医疗设备{:sweat:}
看来要远离国货了 hhxb 发表于 2014-10-5 22:20
就楼主这个逻辑分析能力还做医疗设备
看来要远离国货了
高级黑,哈哈哈 医疗不差钱,基本都用FRAM,性能指标很牛逼;不用费心思考虑EEPROM了。 unifax001 发表于 2014-10-5 22:11
医疗就不能用eeprom 考虑铁电存储器
谢谢推荐, 要求高的场合可以试试 PIC16F54 发表于 2014-10-5 22:22
医疗不差钱,基本都用FRAM,性能指标很牛逼;不用费心思考虑EEPROM了。
FRAM 就是铁电吧,可以试试
不过要是能知道eeprom的极限情况就最好了
毕竟一些小设计还是会使用片内eeprom来作数据的存储 hhxb 发表于 2014-10-5 22:20
就楼主这个逻辑分析能力还做医疗设备
看来要远离国货了
报着学习的心态来提问的, 与从事的行业无关。谢谢 yahui123 发表于 2014-10-5 22:53
。。。。。。。。。。。。。。。。。。。。。。
不知有何指教 刚刚百度了一下FRAM写入没问题了,但读取次数又有限制了{:sweat:},这个1百亿次一般情况下会不会达到? 看datasheet ,上面有极限参数,保守使用即可。 wjdb3 发表于 2014-10-5 22:59
刚刚百度了一下FRAM写入没问题了,但读取次数又有限制了,这个1百亿次一般情况下会不会达到? ...
我记得这个次数是指不能掉电保存的读次数,仍然可以当做RAM来用。 记得铁电电压越低读写次数越多 路过{:3_49:} 考虑图兔兔 ackyee 发表于 2014-10-5 22:52
报着学习的心态来提问的, 与从事的行业无关。谢谢
数据对不对要靠CRC校验。
eeprom的写入寿命远小于读取寿命,所以写入后还要读取再校验。
FRAM有读次数限制吗? eeprom不存在读出次数问题,无限制的 FRAM1百亿次?? 医疗不懂 听朋友说铁路上用的东西 是4个CPU一起算 乃至与4个不同厂家的cpu,4个不同的程序员 4种不同的算法 最后结果一样才能说是对的。 要求高,用铁电吧,一般的话,减少单个地址写入次数, 所有需要存储的数据,在掉电瞬间 写入。
10万次,你算算,一天会掉电多少次,才能在10年里,把10万次用完。何况,也可以采用算法,按片,轮流擦写。寿命又会增加几倍 要求高,用铁电 平时用的还真不考虑寿命问题... STM32内部flash只有10K次寿命。想想也是醉了。有部分产品直接存内部flash了,估计机器烂了flash也还没写烂吧。。 如果只是保存配置参数,不是设备定时写数据,设备坏了芯片也不会坏吧 没有必要考虑这些东西。 不是很频繁的擦写,应该能用很久的吧。太频繁,现在的技术估计也就ram能顶得住 我觉得写入的算法很重要,有些固态硬盘擦写次数才几千次,全靠写平均算法、数据校验和冗余来解决寿命的问题。
如果需要存储的数据量不大的话,可以先写入,再读出来校验,发现错误换另一块存储空间(可以是FLASH的另一块),这样综合算下来寿命就很长了。
关于EEPROM出错后的情况,不要猜测,也不要自己做实验,直接问厂家,他会给你最正确的答案。 谢谢各位的回答,以后在环境要求高的场合 会考虑各位推荐的铁电的方案
还有关于单片机片内eeprom情况 本人也做了老化实验
单片机不停的读,写 ,写 读,连续开了3天,终于把eeprom刷爆了
刷爆后 单片机可正常运行,爆掉的地址位偶尔能写成功,读始终能读,不过可能读出来的是错误数据(最后一次成功写入的数据) stcL2K60S2做过这样的实验,同一地址不停地写入再读取,和写入的对比,通过的话下次写入的数值加1,最后是400多万次的时候读取出错了,写坏了两片都是400多万次 ghjstc 发表于 2014-11-4 11:26
stcL2K60S2做过这样的实验,同一地址不停地写入再读取,和写入的对比,通过的话下次写入的数值加1,最后是4 ...
这成绩也不错了。 不是很频繁的擦写,应该能用很久的吧。 稳定性值得考虑! 不是厂家,没都多少人,能有精力来验证极限情况的{:sleepy:} 从来没用坏过。实际次数远远大于标的值 ackyee 发表于 2014-10-29 17:09
谢谢各位的回答,以后在环境要求高的场合 会考虑各位推荐的铁电的方案
还有关于单片机片内eeprom情况 本人 ...
等写坏一个地方再换的话也有风险啊,毕竟旧的地址在块坏的时候已经不可靠了,比方说电压变动一点就读取错误,就完蛋了。。
我现在用EEPROM基本上都是正反互补冗余读写的,空间多的话就冗余几十份,反正空间不用白不用,而且STC的EEPROM传说也是问题多多,怕出问题。。(也有人说STC爱掉程序,这个就压力山大了) 前几天对一片串行FLASH的一个256块反复擦除(整4096擦除)写入,25W次了,还没看到数据不对。
疑惑是不是要完成擦除写入掉电这个过程,才会是真正能看到他10W次寿命? 还是电池+SRAM封装到一起的IC吧。 wingerchen 发表于 2014-11-7 13:26
前几天对一片串行FLASH的一个256块反复擦除(整4096擦除)写入,25W次了,还没看到数据不对。
疑惑是不是要 ...
是Min 10万还是 Typical 10万 ?
这两种标法实际可差的太远了。
如果是Min 10万次寿命,那么Typical寿命一般是100万
如果Typical 10万 ,那么Min通常只有1万
最小保证寿命一般是典型寿命的1/10,碰运气吧,没准你也能遇到一个比典型寿命大好几倍的。。。
因为这东西的生产分散性很大,又没法测量(只有把它写坏才能测到寿命)。
我大部分程序,只用内部eeprom空间的5%不到,一般是打一枪换一个地方,另外95%的地址轮着用,变相增加寿命 这个问题值得关注 一般是说最小值。 本帖最后由 xiaobendan 于 2014-11-8 08:52 编辑
几年前对STC的10万次做过实验,只测试了一片,没有普遍性,结果是20万次依然坚挺,写入和读出的,完全是一样的
但是实际使用中,几乎无法统计次数(小于1000次)1000片中会有一片左右在1-2年左右时间里出现错误的数据,读出来是错误的,重新再读还是错误的,似乎是写入的问题,但是每次写入都是一串数据一起进行的,唯独某个数据会错。目前还无法判断是程序的问题还是硬件问题。总之概率很小,对于不常用数据没有校验的。常用的关键数据是有校验的,所以没出过错。 没做过极限测试,遇到过flash读错误
页:
[1]