中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

您当前所在位置: 汽车电子 > 查看内容

汽车信息娱乐系统闪存管理全指南

文章作者头像
发布:清雅轩 作者: webmaster来源: job.cartech8.com
PostTime:23-5-2008 17:17

以下为文章全文:(本站微信公共账号:cartech8)


汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师

恢复丢失的比特

在NAND闪存块内的每一次读操作都会使保持数据位的电荷减弱。因而,在大约10万次读操作后闪存块就会丢失数据。为了解决这个问题,一个设计完善的文件系统会跟踪读操作,并在块的读次数达到极限之前标记出弱电荷块以便进行刷新。文件系统随后执行一次刷新操作,该操作将数据拷贝到一个新的闪存块,并擦除该弱块。这种擦除实现了对闪存块的再充电。

文件系统还应该对所有的读写操作执行ECC运算,以便从可能发生的任何单比特差错中恢复。然而,尽管ECC对于那些本身丢失了单个比特的闪存效果很好,但是对于在写操作期间因为电源故障而导致的很多比特损坏则无能为力。因此,文件系统应该对每个事务执行一次CRC检验,以快速检测出损坏的数据。如果CRC检测到一个错误,文件系统就可以使用ECC纠错功能将数据恢复到一个新块上,然后标记出弱电荷块以便擦除。

动态和静态损耗平衡

每个闪存块在其失效之前的擦除次数是有限的。在某些器件中,这个数字可以低到10万次擦除。为了解决这个问题,文件系统必须实现动态损耗平衡,它通过将擦除次数均匀地分散到设备中来延长闪存寿命。

差异可能很大:从没有损耗平衡几天就产生故障的使用情形到利用损耗平衡超过40年的情形。为实现动态损耗平衡,文件系统会跟踪每个块的擦除次数,然后优先使用那些较少使用的块。

通常,闪速存储器包含大量的静态文件,这些文件经常被读取,但不会再写入。这些文件占用的闪存块没有理由被擦除。如果闪存中大部分文件是静态的,剩余部分包含动态数据的块的损耗将戏剧性地加快。对于NAND存储器来说这方面的问题更大,因为NAND每个块的读次数相当有限。

因此,一个设计优秀的文件系统应提供静态损耗平衡功能,它将较少使用的静态块中的数据拷贝到过量使用的块中,从而实现块的平衡使用。这种方法可以让过量使用的块休息,因为它们现在存储的是静态数据,并将使用较少的静态块移动到动态块组中。

尽量减少文件碎片

文件碎片也是闪存器件的一个问题。然而,支持去碎片技术只是解决方案的一部分。因为NAND闪存具有有限的写次数,文件系统必须尽可能避免碎片产生,以延长闪存的寿命。

基于日志的文件系统经常受碎片的影响,因为对已有的文件进行刷新或写入会产生一个新的事务。为减少很多小事务产生的碎片,QNX ETFS使用写缓冲来将小的写入合并成大的写入事务。文件系统还能监视每个文件的碎片水平,并对那些已经严重碎片化的文件进行后台去碎片处理。这种后台活动应该总是能被用户活动占先,以便确保对正在进行去碎片处理的文件进行立刻访问。

正确的组合

完全可能构建一个能提供高吞吐量、高可靠性和快速启动时间的闪存文件系统。通过整合事务级的设计、成熟的纠错以及损耗平衡方法,闪存文件系统完全可以解决当前嵌入式汽车信息娱乐设备提出的复杂要求。 (QNX Software Systems公司 )

<< 前一页

[文章纠错]

文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到

你的权益请联系542334618@126.com,我们会及时处理。

12

会员评价:

0 发表评论

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 5-9-2025 23:14 , Processed in 0.338846 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.