硬汉嵌入式论坛

 找回密码
 立即注册
查看: 793|回复: 17
收起左侧

[其它] 【杂谈】如何测试EEPROM可以保存数据100年以及擦写次数,磨损均衡问题,阿伦尼乌斯方程的老化测试法

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-1-15 01:37:35 | 显示全部楼层 |阅读模式
【引出问题】

引用帖子:https://hackaday.com/2023/12/21/how-do-you-test-if-an-eeprom-can-hold-data-for-100-years/

在hackaday上看到一篇有意思的帖子,如何测试 EEPROM 是否可以保存数据 100 年以及EERPOM的耐久性问题

比如Microchip的文档里面介绍,EEPROM可以将数据保留200年。如果按照时间测试,显然是不现实的。

需要一个更好的,加速磨损测试的方法




【基于阿伦尼乌斯方程的老化测试法】

阿伦尼乌斯方程是一种描述化学反应速率常数与温度之间关系的经验公式,温度升高,分子运动速度加快,使得反应物分子更容易碰撞,从而增大反应速率。阿伦尼乌斯方程可以用于研究化学反应、固体材料的热处理、生物化学等多个领域。

在几十年或几个世纪的时间里,塑料会降解,材料会氧化,并且会继续进行各种其他化学反应。这些化学反应会破坏硅芯片的微小结构

12.png

25.png

因此,要测试设备的长期数据保留,您只需将其放置在比典型温度更高的环境中,并检查其随时间推移如何保存数据。当然,这是通过许多具有科学严谨性的样本完成的,从而能够获得统计见解。显然,也有局限性。在 500 °C 下测试 EEPROM 是没有意义的,它们会在几秒钟内熔化和燃烧。

这些寿命测试的关键是监测特定的故障机制,例如存储单元中的电荷泄漏。了解这些故障模式对于预测数据丢失和制定降低此类风险的策略至关重要。这些特定故障将在自己的时间范围内发生,并且比其他故障更容易受到某些条件的影响。

值得注意的是,加速老化方法不仅用于评估闪存和EEPROM;这些技术应用于从档案纸到油墨和其他此类产品的所有产品。不过,这些方法并非没有缺点。对这些方法的批评围绕着这样一个事实,即不同的化学反应可以在不同的温度下发生,这破坏了加速老化过程与在较低温度下随时间自然发生的情况之间的相关性。相关性有时可能很差,对于许多项目,尤其是最近发明的项目,我们根本没有机会将加速老化结果与实时发生的结果进行比较。

25.png


【怎么理解擦写次数】

引用:https://microchip.my.site.com/s/ ... Endurance-of-EEPROM

比如EEPROM字节擦除为0xFF(直接写入0xFF即可),那么对这个地址依次写入如下数据,总的擦写次数减1

擦除 : 0b11111111
Write : 0b01111111
Write : 0b10111111
Write : 0b11011111
Write : 0b11101111
Write : 0b11110111
Write : 0b11111011
Write : 0b11111101
Write : 0b11111110
最终 :   0b00000000

但下面这种测试,擦写次数要减2
擦除  : 0b11111111
write : 0b01111111
write : 0b01111111   

也就是说,相同的位置1变成0,或者0继续覆盖0,擦写次数都要减1,而1继续写入1,是不影响的。

【EERPOM磨损均衡】

如果频繁对通过一个地址写输入,需要磨损均衡支持,下面是一个开源算法
https://github.com/PRosenb/EEPROMWearLevel

Microchip官方也有一个,但是没法下载了
https://www.microchip.com/en-us/application-notes?rv=1234aa97

12.png


【汽车级EERPOM】

安森美2018年时推出汽车级AEC-Q100认证的0级和1级EEPROM器件,重点了解下汽车级的EEPROM参数

(1)最高等级是0级,依次往下,比如0级是指该器件已经通过-40°C到+150°C之间的环境温度范围内运行的测试。
Grade 0: -40°C to +150°C
Grade 1: -40°C to +125°C
Grade 2: -40°C to +105°C
Grade 3: -40°C to +85°C
Grade 4: 0°C to +70°C

(2)对于安全至上的应用,如驾驶员辅助、制动系统和一般发动机管理,制造商热衷于指定现在可达汽车0级的器件,即-40°C到+150°C的温度范围。闪存并不适合汽车1级或0级环境,因为潜在工艺已针对消费者应用进行了优化,这意味着高密度和高性能。在汽车应用中,速度和密度的重要性次于耐用性和保存时间,在这里,EEPROM是非易失性存储器的首选形式。用于制造EEPROM的工艺更适合于承受恶劣的环境。

(3)作为汽车行业真正的汽车0级EEPROM,400万次读/写周期,数据保存时间为200年,还具有错误代码纠错的特性。





【参考资料】
https://hackaday.com/2023/12/21/how-do-you-test-if-an-eeprom-can-hold-data-for-100-years/
https://www.microchip.com/en-us/application-notes/an2526
http://ww1.microchip.com/downloads/jp/AppNotes/00537.pdf
https://www.st.com/resource/en/a ... icroelectronics.pdf
http://www.mosaic-industries.com ... ility-wear-leveling


ROM :只读存储器
PROM : 可编程只读存储器
EPROM : 可擦除可编程EPROM, EPROM芯片必须从器件中移除才能重新编程
EEPROM:  解决EPROM的痛点。



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-15 01:37:45 | 显示全部楼层
更新完成。
回复

使用道具 举报

5

主题

179

回帖

194

积分

初级会员

积分
194
发表于 2024-1-15 08:54:39 | 显示全部楼层
eeprom文件 doc2526
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-15 08:56:35 | 显示全部楼层

回复

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2024-1-15 09:20:42 | 显示全部楼层
本帖最后由 yunqi 于 2024-1-15 11:20 编辑

回想当前替代外部EEPROM时,用的自带EEPROM的STM32L0X1,手册说是能擦写至少1000万次,写了个程序,常温测了2片,结果真的在1000万次后,部分EEPROM地址读写开始错误。
==========
记混了,手册写的最大擦写10万次。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-15 10:23:08 | 显示全部楼层
yunqi 发表于 2024-1-15 09:20
回想当前替代外部EEPROM时,用的自带EEPROM的STM32L0X1,手册说是能擦写至少1000万次,写了个程序,常温测 ...

手册那个地方写的,没找到1000万次说明。
回复

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2024-1-15 11:19:21 | 显示全部楼层
eric2013 发表于 2024-1-15 10:23
手册那个地方写的,没找到1000万次说明。

抱歉,估计记混了,映像中确实是1千万次。
翻看了下2015年的规格书,最大时10万次
EEPROM.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-15 11:46:07 | 显示全部楼层
yunqi 发表于 2024-1-15 11:19
抱歉,估计记混了,映像中确实是1千万次。
翻看了下2015年的规格书,最大时10万次

1000万次太强了,所以我特地搜索了下。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2024-1-15 19:40:27 | 显示全部楼层
之前测过一颗24c02具体哪家的不记得了, 室温,对着同一个地址, 0x00和0xff交替写, 一共写了1200万次出现错误
回复

使用道具 举报

4

主题

46

回帖

58

积分

初级会员

积分
58
发表于 2024-1-17 15:34:03 | 显示全部楼层
我现在做设备基本上都用铁电了
回复

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2024-1-23 10:36:51 | 显示全部楼层
eric2013 发表于 2024-1-15 11:46
1000万次太强了,所以我特地搜索了下。


发现个百万次的。

24CS512_512_Kbit_3_4MHz_I2C_Serial_EEPROM_with_128-2907326.pdf

1.64 MB, 下载次数: 6

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-24 08:40:25 | 显示全部楼层
yunqi 发表于 2024-1-23 10:36
发现个百万次的。

谢谢分享。
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2024-1-25 21:12:28 | 显示全部楼层
硬汉哥请教一个问题,我使用EEPROM(CAT24C256)遇到一个问题,写入一个SN号(字符串长度为7)写到固定的地址总是中间某位错误。写入1234567读取结果1234u67。写入1234767读取结果1234?27。写入3333333时读取结果3333333.
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2024-1-25 21:19:05 | 显示全部楼层
后来我写入16进制值测出下列故障:写AAAAAAAAAAAAAA 读AEAAAAAAA2AAAA 写55555555555555读555555555D5555 写88888888888888读88808888888C88 写44444444444444读44444444444C44 写22222222222222读62222222262322 写11111111111111读01111111111111。使用的芯片为CAT24C256WI每页字节64字节。我写入的地址为183,不处于翻页位置。芯片手册中描述最快支持通讯速率1 MHz I2C。
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2024-1-25 21:57:20 | 显示全部楼层
我从首地址到尾地址反复写入,就前300个地址反复出错。其他地址没有出现过错误
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2024-1-26 08:53:43 | 显示全部楼层
1334327829 发表于 2024-1-25 21:57
我从首地址到尾地址反复写入,就前300个地址反复出错。其他地址没有出现过错误

这里要注意一点,写入完毕后,EEPROM本身是还没有处理完毕,要等待EERPOM真正的写入完成。

你可以这种试试,是否正常,写入完毕后,等待1秒,然后读取试试。
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2024-1-26 10:16:13 | 显示全部楼层
eric2013 发表于 2024-1-26 08:53
这里要注意一点,写入完毕后,EEPROM本身是还没有处理完毕,要等待EERPOM真正的写入完成。

你可以这种 ...

好的,谢谢硬汉哥。间隔大于1秒也不行,我使用的是串口接收到数据然后再写入(串口助手定时发送间隔为2秒),每次都是写前读 写入 写后读,本次写前读和上次写入数据也对不上。昨晚我对65536个地址空间进行读写检验发现126~196这段反复出现错误,其他地址没有这种问题。我再找找其他批次器件测试一下
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2024-1-26 10:31:40 | 显示全部楼层
好贴收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 21:28 , Processed in 0.370169 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表