打印
[应用相关]

flash之基础问题--擦写次数

[复制链接]
19862|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guet_new_man|  楼主 | 2013-9-23 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 guet_new_man 于 2013-9-23 12:28 编辑

以前只是知道flash的擦写次数一般在10万次,并没有深入去想这个问题,最近产品中用到了一片普通SPI-flash,用的过程中突然想到了这个问题,我的理解是只要存储器中的bit位发生一次变化(0-1或1-0),该bit的寿命就会减少一次,不知道这样理解是否正确?   其次,如果确实是这样,每次写入或者擦除flash时,并不是所操作区域所有bit位的寿命均减少一次,这样会引起flash中各存储单元(bit)的寿命次数变化不一致,管理起来(尤其是加入文件系统之后)岂不是很麻烦?  若有啥好的管理算法,还请各位大侠不吝指点,一起探讨一下。
沙发
prayerwind| | 2013-9-23 16:41 | 只看该作者
1. Flash的读写不一定是(0-1或1-0),Nand flash擦出后就是1。
2. Flash的读写是以块为单位的。
3. 你可以搜索 flash translation layer。有些文件系统是集成了相关算法的。

使用特权

评论回复
板凳
zeluo| | 2013-9-23 19:04 | 只看该作者
不是很了解这一块   楼主   帮你顶一个   看看别人的意见吧

使用特权

评论回复
地板
airwill| | 2013-9-23 19:49 | 只看该作者
只要存储器中的bit位发生一次变化(0-1或1-0),该bit的寿命就会减少一次,不知道这样理解是否正确?  不完全正确. 擦除是 0-1 的过程, 写呢, 可以写0, 也可以写1.  写1 不影响寿命, 所以寿命是指擦除的寿命. 我记得有个文件系统能够兼顾寿命问题. 不记得了, 可以网上搜索一下.

使用特权

评论回复
5
guet_new_man|  楼主 | 2013-9-23 20:43 | 只看该作者
prayerwind 发表于 2013-9-23 16:41
1. Flash的读写不一定是(0-1或1-0),Nand flash擦出后就是1。
2. Flash的读写是以块为单位的。
3. 你可以 ...

额,感觉不太清楚。
1. 1-0或0-1都是bit位发生反转,擦除只是执行0-1,而原本为1的bit则不需要反转,相应地,program时只是执行1-0,而写入1时,根本不会引起flash的bit发生变化;  这两种情况下,不发生反转的bit寿命是否可以理解成没减少??   

2. 一个page表示一块,这个了解,而且只是针对擦除时,最小单位为page,而读或者单纯program时,可以以任意地址开始和结束,不受page的限制。当然,实际应用时不能单纯地只是program,需要先对待写入区域检查是否处于擦除状态,若没有,则要先进行擦除等操作。

使用特权

评论回复
6
guet_new_man|  楼主 | 2013-9-23 20:46 | 只看该作者
airwill 发表于 2013-9-23 19:49
只要存储器中的bit位发生一次变化(0-1或1-0),该bit的寿命就会减少一次,不知道这样理解是否正确?  不完 ...

嗯,我的意思就是bit发生反转时,手命令减少一次。即 擦除时,0变为1,寿命会减少一次; 而写入0时,1就会变为0,寿命应该也是减少一次; 其他的 0-0、1-1,寿命就应该不会减少。 不知是否这样??

使用特权

评论回复
7
mcuisp| | 2013-9-23 23:11 | 只看该作者
每个厂家的FLASH特性不一样

使用特权

评论回复
8
fanlly| | 2013-9-24 12:02 | 只看该作者
物理特性工艺决定的,厂商出厂时会给出最小值

使用特权

评论回复
9
hunter727| | 2014-12-2 13:30 | 只看该作者
同样想问这个问题,现在的用到的emmc 有的制成是mlc,有的是tlc。tlc便宜不少,但是只有500-1000次的擦写寿命? 这个次数是如何计算的?以平板电脑的存储为例,一般我们哪些操作算一次?   

使用特权

评论回复
10
超有爱| | 2017-4-10 16:01 | 只看该作者
是啊。这到底是怎么回事呢?

使用特权

评论回复
11
guet_new_man|  楼主 | 2017-6-11 13:40 | 只看该作者
超有爱 发表于 2017-4-10 16:01
是啊。这到底是怎么回事呢?

我的理解是以bit位值发生变化为准        很多文件系统都带有平衡冗余算法,带文件系统的,一般可以不用过于考虑这个,如果是逻辑开发,自己想办法加入平衡算法即可。

使用特权

评论回复
12
guet_new_man|  楼主 | 2017-6-11 13:41 | 只看该作者
超有爱 发表于 2017-4-10 16:01
是啊。这到底是怎么回事呢?

裸机开发。

使用特权

评论回复
13
捉虫天师| | 2017-6-11 18:41 | 只看该作者
来学习一下这个方法。

使用特权

评论回复
14
njchenmin| | 2017-6-11 22:02 | 只看该作者
换铁电可以解决。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Only to live happily and wonderfully!

2

主题

181

帖子

2

粉丝