当前位置:首页 > 嵌入式 > 嵌入式硬件


汽车信息娱乐和远程电子信息处理系统需要从闪存器件中读写海量数据,因此这些器件必须能长期可靠、无错地保存数据。例如,嵌入到汽车导航系统中的闪存芯片必须在若干年的频繁使用条件下可靠工作。用户不希望丢失数据以及很长的启动时间,或者忍受很长的数据恢复时间。这些都对控制闪存芯片中数据的文件系统技术提出了非常严格的要求。

使问题更加复杂的是,汽车嵌入式设计必须使成本绝对最低。材料清单中通常不能增加管理电源波动或不受控关断的硬件,而这两种情况中的任何一种都会导致闪存损坏,并导致业务丢失。因此,闪存文件系统技术不能简单地提供高吞吐量的读/写功能;它还必须具有自恢复功能,并且在启动之后的若干毫秒之内能被完全访问。(参见“快速启动技术可以满足汽车信息娱乐/远程信息系统的需求”一文)

基于事务的文件系统

解决这些需求的方法之一是采用基于纯事务的模型。例如QNX嵌入式事务文件系统(ETFS)就遵循这种模型,完全是由事务组成。无论是文件系统的元数据还是用户数据的每一次写操作都是由一个“原子”事务组成。一个事务要么获得成功,要么就当成什么事也没有发生。

这种方法可以确保文件系统在电源故障的条件下也能完好无损,即使电源故障发生在闪存写入或块删除期间。为避免文件破坏,事务从来不会覆盖现有的“有效”数据。在文件升级中间的写入操作总是会写入到一个新的未用区域。因此如果这次操作因为突发事故或电源故障不能完成,现有的数据将保持不变。重新启动后,文件系统可以重新执行和正确完成写操作,这样就可以从可能损坏传统文件系统的状态中恢复过来。

事务文件系统可以通过处理设备中的事务日志来动态建立文件系统的层次结构。这种操作发生在系统启动之时,应设计成只有很少部分的数据需要读取和CRC校验。这样一来,文件系统可以获得高的数据完整性和快速的重启时间。例如QNX ETFS可以在数十毫秒内恢复,而传统的文件系统需要数百毫秒。

图1:这种车载导航系统是要求大容量可靠闪存文件系统(用于三维映射、动态路由等)的一个实例。

如图2所示,在纯粹基于事务的文件系统中,每个事务由头和用户数据组成。事务头被放在闪存阵列的空闲字节中。例如,一个具有2112字节页的NAND器件可以由64字节的头和2048字节的用户数据组成。事务头标识数据所属的文件以及其逻辑偏移,并包含一个序列号来确定事务的顺序。头部还包括CRC和ECC字段,用于误码检测和纠正。

图2:这张器件图表明了它相对于纯事务文件系统中物理媒介的独立性。

在系统启动时,文件系统扫描这些事务头来快速重构存储器中的文件系统结构。除了确保高的数据完整性和快速的重新启动时间,一个闪存文件系统还必须具有可以延长闪存寿命的特性,进而增加整个嵌入式系统的长期可靠性。这些特性包括读取性能劣化监测、动态和静态损耗平衡以及避免文件碎片的技术。

恢复丢失的比特

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

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

动态和静态损耗平衡

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

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

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

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

尽量减少文件碎片

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

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

正确的组合

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





本文来源:QNX Software Systems公司 作者:QNX Software Systems公司 Randy Martin

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭